Aller au contenu

N'afficher une phrase que si un champ de saisie est renseigné, comment svp ?


sanddy

Sujets conseillés

Bonjour,

J'ai un champ de saisie qui me permet d'afficher des frais d'actes puis une phrase me calculant le prix actes en main.

J'aimerais afficher "Prix actes en main" que si ce dernier champ de saisie est différent de 0, comment faire svp ???

Actuellement, j'ai :

echo "<b>Frais d'actes :</b><br /><input".$readonly." type=\"text\" size=\"12\" name=\"fraisactes\" id=\"fraisactes\" value=\"".$bien["fraisactes"]."\" onkeyup=\"GetId('prixactes').innerHTML=parseFloat(this.value) + parseFloat(GetId('prixvente').value);\" /> €\n";

echo "<i>Prix actes en main : <span id=\"prixactes\">".($bien["prixnet"] + $bien["emoluments"] + $bien["fraisactes"])."</span> €</i>";

et dès qu'on change les frais d'actes, cela calcule le prix net + emolument + frais d'actes et change le total de la phrase.

Donc comment faire pour ne pas afficher cette phrase si le champ de saisie "Frais d'actes" reste à 0.00 ?

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Tout simplement en faisant précéder ton "echo" par :

if($bien["fraisactes"] > 0) {
echo...
}

Dan

PS: vu que le "if" sera vrai automatiquement si l'expression est non nulle, la ligne

if($bien["fraisactes"])

suffit

Lien vers le commentaire
Partager sur d’autres sites

Merci Dan ;)

Mais malheureusement, ça ne marche pas car je veux que cela affiche "Prix actes en main" si le champ de saisie est modifié (différent de zéro) sans automatiquement valider le formulaire. Il faut que cela l'affiche au keyUp.

Et donc, si je mets

if($bien["fraisactes"] > 0) {
echo...
}

vu que $bien["fraisactes"] n'a pas changé dans la base de données (car on n'a pas cliqué sur "valider le formulaire"), cela n'affiche pas du tout "Prix actes en main". Cela ne l'affichera que si je valide le formulaire, or, je veux que ce soit au keyUp. Pas facile de se faire comprendre... :smartass:

Lien vers le commentaire
Partager sur d’autres sites

Compris !

Vu que cette valeur est modifiée par JavaScript, il te faudra donc une fonction JavaScript qui n'affiche cette ligne que si la somme GetId('prixactes').innerHTML=parseFloat(this.value) + parseFloat(GetId('prixvente').value) est supérieure à zéro.

Et le JavaScript et moi, ça fait deux :!:

Il se trouvera bien quelqu'un de compétent pour te donner la solution. :)

Lien vers le commentaire
Partager sur d’autres sites

LOL, merci ;)

Je suis dans le même cas... en javascript, hum, pas du tout mon domaine... donc s'il y a une aimable personne sur ce forum qui pourrait m'aider en javascript, ça me serait vraiment utile...

Merci d'avance...

Lien vers le commentaire
Partager sur d’autres sites

Si j'ai bien compris (car je ne sais pas si tu parles des montants et/ou des libellés) :

onkeyup=\"GetId('prixactes').innerHTML = calcul(this.value);\"

Et rajouter la fonction :

function calcul(montant) {
var total = parseFloat(montant) + parseFloat(GetId('prixvente').value);
if ( total > 0 )
return total
}

Je précise que GetId n'est pas une fonction Javascript, elle a du être déclaré quelque part...

Lien vers le commentaire
Partager sur d’autres sites

Du coup, j'ai fait :

<script language="Javascript" type="text/javascript">
function calcul(montant) {
var total = parseFloat(GetId('prixactes').value) + parseFloat(GetId('prixvente').value);
if (total > 0)
return total
}
</script>
echo "<b>Frais d'actes :</b><br /><input".$readonly." type=\"text\" size=\"12\" name=\"fraisactes\" id=\"fraisactes\" value=\"".$bien["fraisactes"]."\" onkeyup=\"calcul(montant)\" /> €\n";

echo ": <span id=\"prixactes\">".($bien["prixnet"] + $bien["emoluments"] + $bien["fraisactes"])."</span> €</i>";

Le total marche mais lorsqu'on saisit un montant dans fraisactes, ça ne fonctionne pas. Je dois avoir quelques fautes dans mon code vers le onkeyup :?:

Merci d'avance.

Lien vers le commentaire
Partager sur d’autres sites

Euh si le code est tel quel c'est normal :P

Tu as mélangé le Javascript et le PHP, il faut un <? avant de commencer les ECHO

Ensuite tu as mis onkeyup=\"calcul(montant)\" mais montant n'est pas défini, il faut le retirer, de même que dans la déclaration de la fonction.

Tu as une page de test en ligne ?

Lien vers le commentaire
Partager sur d’autres sites

J'ai reussi ;)

Merci à vous.

J'ai fait :

<i id='test' style="display:none">Prix actes en main : <span id="prixactes">707879</span> €</i>

et un :

onkeyup="if(parseFloat(this.value) > 0){GetId('test').style.display='block';GetId('prixactes').innerHTML=parseFloat(this.value) + parseFloat(GetId('prixvente').value);}else{GetId('test').style.display='none';}"

sur ma méthode :):thumbsup:

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...