Formulaire javascript

Dark_Casimir Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
 Dark_Casimir -
Bonjour,
Je suis étudiant en IUT et j'ai un petit soucis avec un formulaire que je dois réaliser en html avec du javascript.

Je voudrais contrôler qu'aucun champs ne soit vide, donc voici ma fonction :
function vide(form1){
if(document.form1.nom.value == ""){
alert("Merci de renseigner le champs !");
document.forms["form1"].elements["nom"].focus();
return false;
}

if(document.form1.prénom.value == ""){
alert("Merci de renseigner le champs !");
document.forms["form1"].elements["prénom"].focus();
return false;
}
return true;
}

Et voici les champs concernés pour le moment :
<p> <label> Nom : <input type="text" name="nom" id="nom" onblur="vide(form1);"></label></p>
<p> <label> Prénom : <input type="text" name="prénom" id="prénom" onblur="vide(form1);"></label></p>

Je veux également vérifier que dans ces deux champs, l'utilisateur n'aie pas rentré de nombre. J'ai essayé ceci :
function checknom(form1){
var str = document.form1.nom.value;
for(var i=0; i<str.length; i++){
if(isNaN(str[i]){
alert("Vous avez tapé un nombre !");
return false;
}
} return true;
}

Le soucis c'est que lorsque j'essaye ça, ma fonction vide(form1) ne fonctionne plus. Et puis je doute qu'il faille faire ça pour contrôler la présence de nombre dans mes champs "nom" et "prénom"

Merci d'avance pour vos réponses.

4 réponses

Stanislas Poisson Messages postés 424 Date d'inscription   Statut Membre Dernière intervention   66
 
Perso, je ferai un typeof(str)=='Number' plus rapide et bien sur penser au difference entre 12 - 12.00 - 12,00 car je suis pas sur que le type of soit le meme.
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
perso je regarderai du côté des expressions régulières Regex en javascript

tu fais une Regex new RegExp("[0-9]", "g"); et tu testes si tu trouves dans le champ

vas voir le site:

https://openclassrooms.com/fr/courses/5543061-ecrivez-du-javascript-pour-le-web?archived-source=1916641

ou ce site de test en ligne: http://quentinc.net/testeur-expressions-regulieres

ensuite ta méthode de test n'est pas bonne onBlur pour lancer la verif vide, si l'utilisateur ne clique pas sur le champ ça n'appellera pas la fonction.

il vaut mieux:

<form name="form1" action="..." method="post" onsubmit="return vide('form1');">

qui lancera la fonction a l'envoi du formulaire et empêchera son envoi en cas de return false
0
Stanislas Poisson Messages postés 424 Date d'inscription   Statut Membre Dernière intervention   66
 
Alors a tu tester?
0
Dark_Casimir
 
Oui j'ai pu essayer et ça marche super merci beaucoup !
0