[JS] Bloquez le submit d'un formulaire après un contrôle?

Bloquez le submit d'un formulaire après un contrôle? [JS] - HTML/CSS - Programmation

Marsh Posté le 12-07-2007 à 10:29:40    

Salut à tous.
Voici le code:

Citation :


<script language="javascript">
 function controleplaque(){
  if (document.frm_ajout_vehicule.immatriculation.value == "" ) {
   alert("La plaque d'immatriculation doit être remplis" );
   document.frm_ajout_vehicule.immatriculation.focus();
  }  
 }
</script>


 

Citation :

<form action="#" method=post name="frm_ajout_vehicule" target=_self>


Fonctionnement de mon formulaire.
 
Fonction basique de contrôle d'un champs.
A la fin je submit

Citation :

<input type="submit" value="Valider" name="valid" onclick="controleplaque();">


 
Si mon champs contrôle est vide je souhaiterais qu'il bloque le submit du formulaire, car sinon cela va exécuter une requête avec des paramètres vides et du coup ca plante.

Reply

Marsh Posté le 12-07-2007 à 10:29:40   

Reply

Marsh Posté le 12-07-2007 à 14:02:25    

Code :
  1. <script type="text/javascript">
  2. function controleplaque(){
  3.   if (document.frm_ajout_vehicule.immatriculation.value == "" ) {
  4.    alert("La plaque d'immatriculation doit être remplie !" );
  5.    document.frm_ajout_vehicule.immatriculation.focus();
  6.    return false;
  7.   }
  8. }
  9. </script>


Code :
  1. <input type="submit" value="Valider" name="valid" onclick="return controleplaque();">


 
Le fait de retourner false, bloque l'évènement en cours.
 
EDIT PS : Les contrôle de surface en javascript ne servent que pour le confort et pour éviter un aller/retour au serveur. Donc tu dois aussi faire ces tests côté serveur.


Message édité par Bidem le 12-07-2007 à 14:06:17
Reply

Marsh Posté le 12-07-2007 à 14:05:08    

perso j'aurais utilisé la même fonction mais dans le onsubmit du formulaire:

Code :
  1. <form ... onsubmit="return controleplaque();">
  2. ...
  3. </form>


Ainsi si le formulaire est soumis sans appuyer sur le submit le contrôle est quand même effectué.

Reply

Marsh Posté le 12-07-2007 à 19:23:16    

Merci j'avais trouvé dans l'intervalle :)

Reply

Sujets relatifs:

Leave a Replay

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