desacitver plusieur champs suivant le montant

Eléphant du PHP | 56 Messages

03 juin 2007, 13:54

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 :D :D


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 :P :P
merci d'avance

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

03 juin 2007, 17:59

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 ;)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 56 Messages

03 juin 2007, 19:52

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

Eléphant du PHP | 56 Messages

14 juin 2007, 15:40

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

Mammouth du PHP | 568 Messages

14 juin 2007, 15:43

        <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?

Eléphant du PHP | 56 Messages

14 juin 2007, 15:47

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">

Mammouth du PHP | 568 Messages

14 juin 2007, 15:53

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.

Eléphant du PHP | 56 Messages

14 juin 2007, 16:13

<select class="Text" id="profession" onchange="order();"  name="profession">
non pareil

desoler

Mammouth du PHP | 568 Messages

14 juin 2007, 16:15

redonne nous TOUT ton code stp!

Eléphant du PHP | 56 Messages

14 juin 2007, 16:45

<?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

Mammouth du PHP | 568 Messages

14 juin 2007, 16:51

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.

Eléphant du PHP | 56 Messages

14 juin 2007, 21:38

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 :D