[javascript] desactiver un onsubmit en cochant une case (formulaire)

desactiver un onsubmit en cochant une case (formulaire) [javascript] - HTML/CSS - Programmation

Marsh Posté le 23-05-2005 à 12:06:57    

Bonjour ;)
 
Voila mon probleme :
 
j'ai un formulaire tout simple avec un onsubmit qui verifie tout les champs en appelant une fonction javascript de verification de formulaire.
Jusque la c'est OK, sauf que je voudrais pouvoir desactiver cette fonction de verification en cochant simplement une checkbox..
Et c'est la que je bloque.. Je ne sai smeme pas si c'est possible en faite.. (car je ne veut pas "disabled" tout le formulaire, ni un champs mais juste l'attribut on submit..
 
Voila un bout du code que j'ai commencé, pour vous donner une idée :
 
formulaire contenant juste la checkbox pour desactiver lattribut onsubmit de l'autre formulaire :

Code :
  1. <form name="activ_jvs">
  2.   <input name="radio1" type="checkbox" onchange="
  3.    if(window.document.form_etape_1.onsubmit.disabled){
  4.     window.document.form_etape_1.onsubmit.disabled = false}
  5.    else {
  6.     window.document.form_etape_1.onsubmit.disabled = true}">
  7.  </form>


 
avec un autre formulaire a coté (le formulaire form_etape1) :

Code :
  1. <form name="form_etape_1" action="demande-creation-E2b.php" method="post" onSubmit="return verif_form()">
  2.    <input type="text" name="nom_eleve" /><br /><br />
  3. ....


 
Alors est-ce possible? (pas trop complique j'espere)

Reply

Marsh Posté le 23-05-2005 à 12:06:57   

Reply

Marsh Posté le 23-05-2005 à 12:15:46    

des que tu coches ton checkbox, tu fais truc genre  

Code :
  1. window.document.form_etape_1.onsubmit = "";

et quand tu decoches  

Code :
  1. window.document.form_etape_1.onsubmit = new Function ("definis la ta fonction" );


il y a plus propren, mais cherche par la :)


Message édité par fred_p le 23-05-2005 à 12:16:00
Reply

Marsh Posté le 23-05-2005 à 12:17:16    

onsubmit est une fonction, il suffit de mettre ton_formulaire.onsubmit = null, onsubmit étant une action et non un contrôle il ne se désactive pas.
 
Pour ta checkbox, le "onchange" est un membre de la checkbox.
Tu peux donc accéder directement à l'objet ayant lancé l'action par le paramètre "this", et donc obtenir son état par "this.disabled".
 
Accessoirement, le javascript "inline" n'est pas terrible, actuellement on lui préfère l'utilisation des gestionnaires d'évènements.
Il vaudrait également mieux accéder à tes formulaires par document.getElementById('id_du_formulaire')
 
Va voir http://www.quirksmode.org pour plus d'infos sur le JS (propre)


Message édité par masklinn le 23-05-2005 à 12:18:24

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 24-05-2005 à 10:31:19    

merci beaucoup a vous 2
Je prend note de vos conseils :)
 
ps:ca marche au fait
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed