Fonction js pour valider un formulaire

Résolu/Fermé
Judes-Emile Bornes IV Messages postés 123 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 23 février 2010 - 4 mars 2009 à 21:36
lucasc Messages postés 97 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 12 juin 2009 - 4 mars 2009 à 22:48
Bonjour, j'ai un formulaire géré par un fichier php qui me génère des mails parfaits, seulement, je n'arrive pas à faire fonctionner le javascript d'alerte pour les champs non remplis.
Merci de votre aide, voici mon code, le JS est en bas mais ne focntionne pas, je précise JS est activé dans mon navigateur.:
<form action="contact.php" method="post" id="contactform" target="_self">
    <!-- Les Champs à remplir par l'internaute -->
    <label for="nom" class="arial11noirgras"> Nom&nbsp;:<br />
    <input name="nom" type="text" class="arial11noir" id="nom" size="35" maxlength="255" />
    </label><br />
    <label for="prenom" class="arial11noirgras"> Prénom&nbsp;:<br />
    <input name="prenom" type="text" class="arial11noir" id="prenom" size="35" maxlength="255" />
    </label><br />
    <label for="email" class="arial11noirgras">Email&nbsp;:<br />
    <input type="text" class="arial11noir" name="email" id="email" size="35" maxlength="255" />
    </label><br />
    <label for="telephone" class="arial11noirgras">N° de Tél.&nbsp;(optionnel)&nbsp;:<br />
    <input type="text" class="arial11noir" name="telephone" id="telephone" size="35" maxlength="255" />
    </label><br />
	<label for="objet" class="arial11noirgras">Objet de votre message :<br />
    <select name="objet" size="1" class="arial11noir" dir="ltr">
    <option value="1" selected>Choisissez votre sujet ...</option>
	<option value="2">Demande d'informations</option>
	<option value="3">Signaler un problème sur le site</option>
    </select>
    </label><br />
    <label for="message" class="arial11noirgras">Message&nbsp;:<br />
	<textarea name="message" cols="75" rows="8" class="arial11noir" id="message" title="message" dir="ltr">
    </textarea>
  	</label>
    <br />
    <script language="javascript" type="application/javascript">
	//vérifie que les champs requis sont bien remplis
	function valider() {
	var inputnom = document.form.nom.value.length;
	var inputprenom = document.form.prenom.value.length;
	var inputemail = document.form.email.value.length;
	var inputmessage = document.form.message.value.length;
	if (inputnom==0 || inputprenom==0 || inputemail==0 || inputmessage==0) 
	{
		function Message() {
	alert("Veuillez remplir tous les champs requis!")
			}
		}
	}
	</script>
	<input name="Envoyer" type="submit" class="arial11noirgras" value="envoyer l'email" />
    <input name="Clear" type="reset" class="arial11noirgras" value="effacer" />
    <br /><br />
</form>

8 réponses

Judes-Emile Bornes IV Messages postés 123 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 23 février 2010 12
4 mars 2009 à 22:24
Parfait!
j'ai créé le fichier js et l'appel depuis la page html fonctionne parfaitement.
Le problème dans mon script c'était que (enfin je pense) je n'avais pas déclaré mon formulaire par une variable.
enfin ton aide a été précieuse, merci! bravo Lucas
1
lucasc Messages postés 97 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 12 juin 2009 14
4 mars 2009 à 22:48
oui c'est ca le formulaire n'avais pas de nom !!

de rien pour le coup de pouce. c'était avec plaisir.

Bonne continuation !! lucas
1
lucasc Messages postés 97 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 12 juin 2009 14
4 mars 2009 à 21:39
essay deja en mettant dans ta balise form onsubmit="return valider()"


:) Lucas
0
Judes-Emile Bornes IV Messages postés 123 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 23 février 2010 12
4 mars 2009 à 21:45
merci!
sur le input type="submit" j'imagine? :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Judes-Emile Bornes IV Messages postés 123 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 23 février 2010 12
4 mars 2009 à 21:46
non j'ai rien dit tu m'a dis sur la balise form
0
lucasc Messages postés 97 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 12 juin 2009 14
4 mars 2009 à 21:48
exact :)
0
Judes-Emile Bornes IV Messages postés 123 Date d'inscription dimanche 6 avril 2008 Statut Membre Dernière intervention 23 février 2010 12
4 mars 2009 à 21:50
zut ça marche pas :(
j'ai essayé aussi
<input name="Envoyer" type="submit" class="arial11noirgras" value="envoyer l'email" onclick="javascript:return valider()"/>
0
lucasc Messages postés 97 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 12 juin 2009 14
4 mars 2009 à 22:06
Voila ce que je ferai :

<form action="contact.php" method="POST" name="form1" onsubmit="return valider()">
//ici tous tes input text


Ensuite pour la fonction valider() :

function valider(){

  var form = document.form1;

 if (form.nom.value == ""){
   alert("Veuillez rentrer votre nom");
   form.nom.focus();  // le curseur se place sur le champ nom
   return false;

 }

 if (form.prenom.value == ""){
   alert("Veuillez rentrer votre prenom");
   form.prenom.focus();  // le curseur se place sur le champ prenom
   return false;
 }
 
 //répeter pour chaque champ
}



je te conseil de créer un fichier js et de le joindre dans l'entête du php :

<script type="text/javascript" src="nomdufichier.js" charset="iso-8859-1"></script>



PS : si tu veut un message rassemblant tous les champs du genre "Veuillez remplir les champs nom, prenom" si nom et prenom sont vide je t'expliquerai comment faire
0