11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour, je viens de parcourir et de trouver un petit script JS qui me permet de vérifier la synthax de l'adresse e-mail placer dans mon formulaire.

tout fonctionne mais aprés la vérification c'est à dire aprés la mini pop up le formulaire ne passe pas a la page de traitement et je ne vois pas pk merci de m'aider !

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<link rel="stylesheet" type="text/css" href="style.css" />

<title>Ajout d'un contact !</title>

<SCRIPT language="javascript">
   function ValiderMail(formulaire) {
      if (formulaire.mail.value.indexOf("@",0)<0) {alert("Adresse mail saisie invalide.\nLe formulaire ne sera pas validé.")}
      else {
         alert("Formulaire validé.\nPour valider un formulaire : formulaire.submit()");
         // Pour valider le formulaire en javascript :
         // formulaire.submit()
      }
   }
</SCRIPT>

</head>

<body>

<?php include("menu_general.php"); ?> 

<form method="post" action="ajout.php">

<p align="center">
<input name="nom" type="text" value='Votre Nom' onFocus="if (this.value=='Votre Nom') {this.value=''}" /><br />
<input name="prenom" type="text" value='Votre Prenom' onFocus="if (this.value=='Votre Prenom') {this.value=''}" /><br />
<input name="fonction" type="text" value='Votre Fonction' onFocus="if (this.value=='Votre Fonction') {this.value=''}" /><br />
<select name="ville">
<option>Choisir la ville !</option>
<?php
try
{
	$bdd = new PDO('mysql:host=localhost;dbname=annuaire', 'root', 'xxxxxxxxx');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query('SELECT * FROM maps_ville ORDER BY nom');
while ($donnees = $reponse->fetch())
{
	
?>


<option><?php echo $donnees['nom'];?></option>


<?php
}

$reponse->closeCursor(); // Termine le traitement de la requête

?>
</select>
<br />
<input name="telephone" type="text" value='Votre Téléphone' onFocus="if (this.value=='Votre Téléphone') {this.value=''}" /><br />
<input name="telinterne" type="text" value='Votre Tél Interne' onFocus="if (this.value=='Votre Tél Interne') {this.value=''}" /><br />
<input name="mail" id="mail" type="text" value='Votre Mail' onFocus="if (this.value=='Votre Mail') {this.value=''}" />      
</p>

<p align="center">
<INPUT type="button" name="bouton" value="Valider" onClick="ValiderMail(this.form)">
<input type="reset" />
</p>

</form>

</body>
</html>
Modérateur
Bonjour,

Habituellement, il vaut mieux mettre la validation du formulaire dans l'événement onsubmit du formulaire lui-même, pour deux raisons :

- Pour éviter que le formulaire dépende entièrement de Javascript. De toute façon, la validation Javascript doit être une surcouche à la validation côté serveur
- Il faut savoir qu'un formulaire peut être soumis en appuyant sur ENTER du clavier lorsque le focus est sur un champ du formulaire. Si la validation est sur le clic du bouton, elle ne sera jamais exécutée.