gesualda Posté 25 Juin 2005 Partager Posté 25 Juin 2005 Bonjour, C'est une petite question, mais je sais pas comment faire. J'aimerai griser dans un formulaire la ligne <input submit> tant que le checkbox qui se trouve juste avant n'est pas coché. Si quelqu'un pourrait m'orienter, ca me rendrait service. @++ Lien vers le commentaire Partager sur d’autres sites More sharing options...
gesualda Posté 25 Juin 2005 Auteur Partager Posté 25 Juin 2005 (modifié) Bon ben j'ai trouvé, alors si ca peut aider quelqu'un voila: <head> <script language="javascript" type="text/javascript">function ChangeStatut(formulaire) {if(formulaire.regagree.checked == true) {formulaire.validation.disabled = false }if(formulaire.regagree.checked == false) {formulaire.validation.disabled = true }}</script> </head><body><form action="" methed="post"><input type="checkbox" name="charte_photo" value="valeur" onClick="ChangeStatut(this.form)" /> Valider la charte<input type="submit" name="validation" value="S'enregistrer" disabled /></form></body> J'oubliai, il n'est pas de moi, mais tant qu'a faire @ bientôt et bon week à tous Modifié 25 Juin 2005 par gesualda Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xavier Posté 25 Juin 2005 Partager Posté 25 Juin 2005 Petit problème : sans javascript le bouton de validation ne sera jamais activé Il faut donc s'arranger pour que le bouton soit désactivé par javascript au chargement En plus la syntaxe n'est pas du tout correcte, et l'activation ne se fera que dans IE qui est le seul à accepter de telles erreurs de syntaxe Bref, permets-moi de te dire que ça ne va pas du tout Bref, quelque chose comme ceci serait plus correct : <head><script type="text/javascript">function ChangeStatut() {var eltCheckbox = document.getElementById("charte_photo");var eltSubmit = document.getElementById("validation");if(eltCheckbox.checked == true) {eltSubmit.disabled = false }if(eltCheckbox.checked == false) {eltSubmit.disabled = true }}</script></head><body onload="ChangeStatut();"><form action="" methed="post"><label><input type="checkbox" name="charte_photo" id="charte_photo" value="valeur" onClick="ChangeStatut()" /> Valider la charte</label><input type="submit" name="validation" value="S'enregistrer" id="validation" /></form></body> PS : je ne suis pas convaincu du onload sur le body mais je n'ai pas réussi à faire fonctionner un window.onload = ChangeStatut() Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xavier Posté 26 Juin 2005 Partager Posté 26 Juin 2005 Je savais qu'il y avait un "truc" pour les formulaires ! <script type="text/javascript">function ChangeStatut() {var eltCheckbox = document.forms[0].charte_photo;var eltSubmit = document.forms[0].validation;if(eltCheckbox.checked == true) {eltSubmit.disabled = false }if(eltCheckbox.checked == false) {eltSubmit.disabled = true }}</script> Par contre je n'arrive toujours pas à faire un window.onload. PS : n'oublie pas les <label> pour les textes liés à un input Lien vers le commentaire Partager sur d’autres sites More sharing options...
Boo2M0rs0 Posté 26 Juin 2005 Partager Posté 26 Juin 2005 Bonjour, mais je n'ai pas réussi à faire fonctionner un window.onload = ChangeStatut() <{POST_SNAPBACK}> Quand tu écrit ce code, cela signifie que tu execute la fonction ChangeStatut tout de suite et que tu attribues sa valeur de retour à window.onload, il faudrait donc écrire: window.onload = ChangeStatut; Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xavier Posté 26 Juin 2005 Partager Posté 26 Juin 2005 Merci Boo2M0rs0 C'est le genre de trucs qui m'échappent encore, mais ça viendra Au final <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html lang="fr"><head> <title>Titre de la page</title> <script type="text/javascript"> function ChangeStatut() { var eltCheckbox = document.forms[0].charte_photo; var eltSubmit = document.forms[0].validation; if(eltCheckbox.checked == true) {eltSubmit.disabled = false } if(eltCheckbox.checked == false) {eltSubmit.disabled = true } } window.onload=ChangeStatut; </script></head><body> <form action="page.php" method="post"> <fieldset> <label><input type="checkbox" name="charte_photo" value="valeur" onClick="ChangeStatut()"> Valider la charte</label> <input type="submit" name="validation" value="S'enregistrer"> </fieldset> </form></body></html> Il me semble que ça devrait fonctionner dans tous les navigateurs (prévoir bien entendu la vérification côté serveur pour ceux qui ont le js désactivé) Attention il y avait une "coquille", c'est method et pas methed Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant