2013-06-01 3 views
0

Я использую javascript для проверки формы перед отправкой. Когда я обнаруживаю ошибку в поле, форма все еще помещается. Как я могу предотвратить отправку сообщения об ошибке?Форма сообщений, даже если я обнаружил ошибку в поле

Вот моя форма:

<form onSubmit="return validateForm()" action="send.php" method="post" name="formulaire"> 
     Prénom: <input type="text" name="prenom"><p id="valider_prenom"></p><br> 
     Nom: <input type="text" name="nom"><p id="valider_nom"></p><br> 
     Email: <input type="text" name="email"><p id="valider_email"></p><br> 
     Code postal: <input type="text" name="codepostal"><p id="valider_codepostal"></p><br> 
     <INPUT type="submit" value="Envoyer"> 
    </form> 

Here's my javascript function: 

<script type="text/javascript"> 
    function validateForm() 
    { 
     var prenom = document.forms["formulaire"]["prenom"].value; 
     var nom = document.forms["formulaire"]["nom"].value; 
     var email = document.forms["formulaire"]["email"].value; 
     var codepostal = document.forms["formulaire"]["codepostal"].value; 
     var erreur = false; 

     // Pour la validation du format de email 
     var atpos = email.indexOf("@"); 
     var dotpos = email.lastIndexOf("."); 

     if (prenom == null || prenom == "") 
     { 
     document.getElementById('valider_prenom').innerHTML = '* Requis'; 
     erreur = true; 
     } 

     if (nom == null || nom == "") 
     { 
     document.getElementById('valider_nom').innerHTML = '* Requis'; 
     erreur = true; 
     } 

     if (email == null || email == "") 
     { 
     document.getElementById('valider_email').innerHTML = '* Requis'; 
     erreur = true; 
     } 
     else if (atpos < 1 || dotpos < atpos + 2 || dotpos + 2 >= email.length) 
     { 
     document.getElementById('valider_email').innerHTML = '* Adresse incorrect'; 
     erreur = true; 
     } 

     if (codepostal == null || codepostal == "") 
     { 
     document.getElementById('valider_codepotal').innerHTML = '* Requis'; 
     erreur = true; 
     } 

     if (erreur){return false;} 
    } 
    </script> 

ответ

2

Если заменить последнюю строку кода с, если (ERREUR == TRUE) {вернуться ложным;} он проверит вашу форму.

+2

Уважаемый Charley14, Еще одно дело, что ваш код работает нормально. Но в validateForm() идентификатор «valider_codepotal» должен быть «valider_codepostal». Я выполняю ваш код, работая. Пожалуйста, очистите свой кеш от своего браузера и попробуйте. Если какая-либо проблема сообщит мне. – John

Смежные вопросы