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

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