Page 1 sur 1
desacitver plusieur champs suivant le montant
Posté : 03 juin 2007, 13:54
par badibad
re salut oui c'est encore moi je suis vrement désoler mais j'ai encor deux troi blem à regler avant de vous ficher la pai
j'essaye de desactiver plusieur champs suivant le montant de la commande donc j'ai essayer ce code
Code : Tout sélectionner
if ($order->info['total'] <= 1001) {
global $Profession, $credit_ref1city, $credit_ref1phone;
if ($this->enabled == true) {
if ($order->info['total'] <='1001') {
$this->enabled = false;
}
}
} mais aparament il comprent pas ce que je lui demande car les champ aparaise toujour
merci d'avance
Posté : 03 juin 2007, 17:59
par Ryle
Pas évident de répondre pour ceux qui n'ont pas suivit le début du problème... on ne sait pas sur quoi tu travailles, ni ce que font les fonctions ou attributs que tu utilises...
Tout ce que je peux te conseiller c'est de tester si tu rentre bien dans tes if(), de vérifier les valeurs de tes variables, t'assurer que le "enable" à false a bien pour effet de supprimer visuellement ton élément et pas juste de le désactiver (avec l'attribut disabled) et surtout de corriger ceci :
if ($order->info['total'] <='1001')
// en ceci
if ($order->info['total'] <= 1001)
PHP est peut être tolérent, mais un minimum de rigueur pour ne pas vérifier qu'une valeur est inférieure ou égale à une chaine, ca fait pas de mal

badibad
Posté : 03 juin 2007, 19:52
par badibad
en fait j'ai mis le global + cette ligne avant les champ
<?php
if (credit_ref1city == 'true')
?>
<td class="main"><?php echo ENTRY_CREDIT_REF1CITY etc...
merci d'avance
desacitver plusieur champs suivant le montant
Posté : 14 juin 2007, 15:40
par badibad
re bonjour
après plusieurs jour de recherche j'ai trouvez ce code mais inpossible de le fair marcher
<?php
if ($order->info['total'] <= 1001)
echo "<input type='hidden' id='order' value='1'/>";
else
echo "<input type='hidden' id='order' value='0'/> ";
?>
<script>
function order() {
if (document.getElementById('order').value == '1' )
document.getElementById('profession').disabled=true;
else
document.getElementById('profession').disabled=false;
}
</script>
puis j'ai mis ca
<td width="100%"><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox" name= "prof" onchange="order();" >
merci d'avance
Re: desacitver plusieur champs suivant le montant
Posté : 14 juin 2007, 15:43
par Yosh
<td width="100%"><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox" name= "prof" onchange="order();" >
Cela ne fonctionnera pas, un tableau ne supporte pas le onChange, enfin il me semble.
D'après ce que tu à posté, je pense que tu veux utiliser un champ de type text, non?
desacitver plusieur champs suivant le montant
Posté : 14 juin 2007, 15:47
par badibad
oui
mais j'ai deja essayer avec un champ classique ( en remplacent prof par proffession dans le scrip) et pareil ca marche pas
<select class="TexteForm" id="profession" onchange="order();" name="profession">
Re: desacitver plusieur champs suivant le montant
Posté : 14 juin 2007, 15:53
par Yosh
oui
mais j'ai deja essayer avec un champ classique ( en remplacent prof par proffession dans le scrip) et pareil ca marche pas
<select class="TexteForm" id="profession" onchange="order();" name="profession">
Tu a une erreur afficher?
Essaye déjà de mettre tes zones de textes en text au lieu de hidden pour voir si elles s'affichent.
Posté : 14 juin 2007, 16:13
par badibad
<select class="Text" id="profession" onchange="order();" name="profession">
non pareil
desoler
Posté : 14 juin 2007, 16:15
par Yosh
redonne nous TOUT ton code stp!
Posté : 14 juin 2007, 16:45
par badibad
<?php
if ($order->info['total'] <= 1001)
echo "<input type='hidden' id='order' value='1'/>";
else
echo "<input type='hidden' id='order' value='0'/> ";
?>
<script>
function order() {
if (document.getElementById('order').value == '1' )
document.getElementById('profession').disabled=true;
else
document.getElementById('profession').disabled=false;
}
</script>
puis
<th align="left" height="27">
<span style="font-size: 8pt; font-weight: 400">
Profession </span></th><td align="left" height="27">
</span><span style="font-size: 8pt">
<select class="Text" id="profession" onchange="order();" name="profession">
<option value selected>Profession
merci
Posté : 14 juin 2007, 16:51
par Yosh
Code : Tout sélectionner
<?php
$order->info['total'] = 1005;
if ($order->info['total'] <= 1001)
echo "<input type='text' id='order' value='1'/>";
else
echo "<input type='text' id='order' value='0'/> ";
?>
<script>
function order() {
if (document.getElementById('order').value == '1' )
document.getElementById('profession').disabled=true;
else
document.getElementById('profession').disabled=false;
}
</script>
<span style="font-size: 8pt; font-weight: 400">Profession</span>
<span style="font-size: 8pt">
<select class="Text" id="profession" onchange="order();" name="profession">
<option>Profession 1</option>
<option>Profession 2</option>
<option>Profession 3</option>
<option>Profession 4</option>
</select>
</span>
Chez moi ca fonctionne, après faut voir si c'est bien ça que tu veux faire.
desacitver plusieur champs suivant le montant
Posté : 14 juin 2007, 21:38
par badibad
oui merci ca marche mais j'ai du me gourrer display rend selement le champ en gris pour ne pas l'utiliser moi je veut le fait disparaitre et qu'il n'y est plus rien à ca place
merci
