Gribouille26 Posté 20 Octobre 2004 Posté 20 Octobre 2004 Bonjour, Je voudrais faire un bouton pour remettre à zero les differents champs d'un formulaire. <input type="reset" value="Remise à zero"> J'ai utilisé ça, mais ça ne marche pas. Ca peut être dut au fait que les champs sont remplis par des variables et pas par le visiteur?
Titag Posté 20 Octobre 2004 Posté 20 Octobre 2004 Je crois oui... en fait ca ne vide pas forcément les champs mais les remet dans leur état initial, remplis dans ton cas
Gribouille26 Posté 20 Octobre 2004 Auteur Posté 20 Octobre 2004 Alors, si je commence à comprendre un peu le php, il faut que je déclanche une fonction lorsque je clique sur ce bouton qui fasse que toute mes variables prennent un valeur "", puiqu'elles ne sont pas vident par défaut. C'est bien ça?
Titag Posté 20 Octobre 2004 Posté 20 Octobre 2004 Oui mais ca implique de recharger la page Le php s'exécute sur le serveur ne l'oublions pas
Titag Posté 20 Octobre 2004 Posté 20 Octobre 2004 Pour bien faire la différence entre PHP et HTML/javascript je suis tombé sur un site sympa : Le site du Zéro... ne le prend pas mal mais ca éclaire bien les néophytes à mon avis.
Gribouille26 Posté 20 Octobre 2004 Auteur Posté 20 Octobre 2004 Tiens, c'est drôle! J'ai passé la soirée à lire ses tutoriaux!!! J'ai essayé d'ecrire cette fonction de remise à zero. J'ai placé ça sur le bouton: <input type="reset" value="Remise à zero" onclick=vide()> Et cette fonction au début de mon code php: function vide($euros,$francs,$marks){$euros="";$francs="";$marks="";} Ca ne marche pas! Voyez vous des erreurs?
Tizel Posté 20 Octobre 2004 Posté 20 Octobre 2004 Je te conseillerais plutôt de faire ça en Javascript. Voci quelques éléments qui pourront te servir... <form name="formulaire"><input name="champ"></input></form>document.formulaire.champ.value=''; Tizel
xpatval Posté 20 Octobre 2004 Posté 20 Octobre 2004 Tu peux aussi essayer en php, avec recharchement de la page. <?phpif ($reset== true){ $champ = "";}?><form name="formulaire" action="<?php echo $PHP_SELF;?>" method="post"><input name="champ"><input type="submit" value="Validation"><input type="submit" name="reset" value="reset"></form> A arranger selon tes désidératas. xpatval
Gribouille26 Posté 20 Octobre 2004 Auteur Posté 20 Octobre 2004 (modifié) Je préfererai tout mettre en php. J'ai essayé: if ($reset== true){$euros="";$francs="";$marks="";} avec: <input type="submit" value="Remise à zero" name="reset"></p> Ca marche mais ça écrit -o! [édit] c'est bon, il fallait mettre un espace entre le guillemets! MERCI!!! [/edit] Modifié 20 Octobre 2004 par Gribouille26
Gribouille26 Posté 20 Octobre 2004 Auteur Posté 20 Octobre 2004 En fait, ça ne marche plus pour mon autre bouton submit. <input type="submit" value="convertir" name="convert"> Il faudrait que je fasse: if ($convert== true){...} Mais dans ce nouveau if, je devrai y placer plusieurs autres if que je fait déjà! Comment écrire ça? Si je place juste mes anciens if dans {...}, ça ne marche pas! Concrètement, j'ai ça: <?if ($reset== true){$euros=" ";$francs=" ";$marks=" ";}if ($convert== true){if(empty($francs) and empty($marks) and isset($euros)){$francs= round(100*$euros*6.559-0.01)/100;$marks= round(100*$euros*1.955-0.01)/100;}if(empty($euros) and empty($marks) and isset($francs)){$euros= round(100*$francs/6.559-0.01)/100;$marks= round(100*$francs/3.3538-0.01)/100;}if(empty($euros) and empty($francs) and isset($marks)){$euros= round(100*$marks*0.5112-0.01)/100;$francs= round(100*$marks*3.3538-0.01)/100;}}?>...<form method="post" action="convert.php"><p><input type="text" size="10" name="euros" value="<? echo "$euros";?>"> Euros<br></p><p><input type="text" size="10" name="francs" value="<? echo "$francs";?>"> Francs<br></p><p><input type="text" size="10" name="marks" value="<? echo "$marks";?>"> Marks<br></p><p><input type="submit" value="convertir" name="convert"><input type="submit" value="Remise à zero" name="reset"></p></form> Voyez-vous une erreur expliquant l'interference entre les deux boutons? (le "convert" ne marche plus depuis que l'autre est devenu type="submit" aussi...)
xpatval Posté 20 Octobre 2004 Posté 20 Octobre 2004 Gromo dosso, cela pourrait donner qlque chose comme ça: if ($reset== true){$euros="";$francs="";$marks="";$convert = 0;}switch ($convert){ case 0: $convert = 1; ?> <form method="post"action="<?php echo $PHP_SELF;?>" method="post"> <p><input type="text" size="10" name="euros" value="<? echo "$euros";?"> Euros<br></p> <p><input type="text" size="10" name="francs" value="<? echo "$francs";?>"> Francs<br></p> <p><input type="text" size="10" name="marks" value="<? echo "$marks";?>"> Marks<br></p> <p><input type="submit" value="convertir" name="convert"> <input type="submit" value="Remise à zero" name="reset"></p> </form><?php break; case 1: // tu mets tes conditions break;} xpatval
Gribouille26 Posté 20 Octobre 2004 Auteur Posté 20 Octobre 2004 Oh! Jamais utliser encore celui-là (switch!) Je comprend pas à quoi servent les case1 et 0? $convert ne peut pas valoir 1...
xpatval Posté 20 Octobre 2004 Posté 20 Octobre 2004 Lorsque $convert vaut 0, tu passes dans le formulaire afin de saisir. Dans ce formulaire, tu valorises $convert à 1. Lorsque tu soumets, la page se recharge avec, entre autre, la valeur de $convert (1) Et comme $convert vaut 1, tu ne repasses plus dans le formulaire, mais dans les tests de condition. Tu peux ainsi continuer comme cel, si tu as d'autres choses à faire. Dans le case 1: , hormis tes tests, tu valorises $convert à 2, avec un bouton de validation. Tu recharges ta page, $convert valant deux, tu passeras dans le case2: etc... xpatval
Gribouille26 Posté 20 Octobre 2004 Auteur Posté 20 Octobre 2004 Lorsque $convert vaut 0.... <{POST_SNAPBACK}> Déjà, je ne vois pas quand $convert peut bien valoir 0 ou même 1?
xpatval Posté 20 Octobre 2004 Posté 20 Octobre 2004 Déjà, je ne vois pas quand $convert peut bien valoir 0 ou même 1? $convert est une variable de positionnement dans ton script. C'est TOI qui détermine sa valeur, de manière à franchir les différentes étapes que tu souhaites. C'est toi qui initialise $convert à vide, ou = 0. C'est TOI qui lui attribue la valeur 1 lorsque tu passes dans la condition où $convert vaut dans un premier temps 0. C'est Toi qui lui attribue la valeur 2 lorsque tu passes dans la condition où $convert vaut 1 . Etc... xpatval
Gribouille26 Posté 20 Octobre 2004 Auteur Posté 20 Octobre 2004 D'accord, je comprend! (un peu) Mais ça me paraît bien complexe pour ce que je veux faire... J'ai essaye comme ça aussi: <? if ($bouton==zero) { $euros=" "; $francs=" "; $marks=" "; } if ($bouton==convertir) { if(empty($francs) and empty($marks) and isset($euros)) { $francs= round(100*$euros*6.55957-0.01)/100; $marks= round(100*$euros*1.95583-0.01)/100; } if(empty($euros) and empty($marks) and isset($francs)) { $euros= round(100*$francs/6.55957-0.01)/100; $marks= round(100*$francs/3.353855-0.01)/100; } if(empty($euros) and empty($francs) and isset($marks)) { $euros= round(100*$marks*0.511292-0.01)/100; $francs= round(100*$marks*3.353855-0.01)/100; } } ?> <form method="post" action="convert.php"> <p><input type="text" size="10" name="euros" value="<? echo "$euros";?>"> Euros<br></p> <p><input type="text" size="10" name="francs" value="<? echo "$francs";?>"> Francs<br></p> <p><input type="text" size="10" name="marks" value="<? echo "$marks";?>"> Marks<br></p> <p><input type="submit" value="convertir" name="bouton"> <input type="submit" value="zero" name="bouton"></p> </form> Ca me paraît logique, mais ça marche pas non plus...
Titag Posté 20 Octobre 2004 Posté 20 Octobre 2004 (modifié) Tu es sur de la valeur de $bouton ? Tu devrais l'afficher quelque part pour voir quelle valeur ca te sort... Et met des guillemets ou des cotes $bouton == "convertir" Modifié 20 Octobre 2004 par Titag
Gribouille26 Posté 20 Octobre 2004 Auteur Posté 20 Octobre 2004 J'avais essayé en premier avec les guillements, mais ça change rien... J'ai vérifier, elle me sort : convertir et zero...
Titag Posté 20 Octobre 2004 Posté 20 Octobre 2004 Oui en fait c'est la conversion qui ne marche pas... Essaye en changeant les conditions : empty($francs) && empty($marks) && isset($euros) je ne sais pas où tu as vu "and" mais je ne suis pas sur que ca marche ainsi... && marche c'est sur.
Gribouille26 Posté 20 Octobre 2004 Auteur Posté 20 Octobre 2004 Avant de mettre le bouton pour effacer, j'utilisait AND, et ça marchait très bien!!! J'ai essayé avec &&: pas de différence... Les conversions marchaient très bien avant, c'est ce bouton qui à mit le bazar et qui a fait que le bouton conversion ne marche plus. Si je l'enleve, ça marche...
Gribouille26 Posté 20 Octobre 2004 Auteur Posté 20 Octobre 2004 Mon fichier est là:http://www.webmaster-hub.com/index.php?sho...indpost&p=50772 Ca marche pas chez moi...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant