Bonjour,
J'ai un problème pour une vérification d'email dans un formulaire. J'arrive a vérifié si l'email est bien formaté (affiche erreur) mais je n'arrive pas afficher si il n'y a pas d'erreur.
En gros il m'affiche toujours une erreur comme quoi l'email est mal formater (bordure rouge)
Mon javascript:
mon formulaire:
Je pense que l'erreur provient de cette ligne ci mais je n'arrive pas a la régler
J'ai un problème pour une vérification d'email dans un formulaire. J'arrive a vérifié si l'email est bien formaté (affiche erreur) mais je n'arrive pas afficher si il n'y a pas d'erreur.
En gros il m'affiche toujours une erreur comme quoi l'email est mal formater (bordure rouge)
Mon javascript:
// Formulaire de contact
function envoyer(){
var nom = document.getElementById('nom');
var prenom = document.getElementById('prenom');
var sujet = document.getElementById('sujet');
var email = document.getElementById('email');
var comm = document.getElementById('comm');
if(nom.value.length >= 2 && prenom.value.length >=2 && sujet.value.length >=2 && email.value.length >=2 && isMail(email) && comm.value.length >=2){
return true;
}
else{
if(nom.value.length < 2){
nom.style.border = '1px solid red';
}
else{
nom.style.border = '1px solid #333';
}
if(prenom.value.length < 2){
prenom.style.border = '1px solid red';
}
else{
prenom.style.border = '1px solid black';
}
if(sujet.value.length < 2){
sujet.style.border = '1px solid red';
}
else{
sujet.style.border = '1px solid black';
}
if(email.value.length < 2 || !isMail(email)){
email.style.border = '1px solid red';
}
else{
email.style.border = '1px solid black';
}
if(comm.value.length < 2){
comm.style.border = '1px solid red';
}
else{
comm.style.border = '1px solid black';
}
return false;
}
}
// Permet de retirer les espaces.
String.prototype.trim = function() {
// Voir Regexp => En gros, va remplacer tout les caractère non voulus (blancs et autres par "rien du tout").
return this.replace(/^\s*|\s*$/g, "");
};
// supprime les espaces de début et de fin de chaîne
function TxtTrim(txt){
return txt.replace(/^\s+/, "").replace(/\s+$/, "");
};
function SupprEspaces(objet){
objet.value= TxtTrim(objet.value);
};
// Vérifie si la valeur est bien email formaté correctement.
function isMail(email) {
return (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email));
};
mon formulaire:
echo '<div id="form_contact_left">';
echo '<form method="post" action="includes/traitement_mail.php" id="formulaire" onsubmit="return envoyer();">
<fieldset class="fieldset_coordo">
<table class="formulaire_contact">
<tr>
<tr>
<td><label>Nom:</label></td>
<td><input type="text" name="nom" id="nom" onChange="SupprEspaces(this);" size="40" style="margin-left: 30px;" />
</td>
</tr>
<tr>
<td><label>Prénom:</label></td>
<td><input type="text" name="prenom" id="prenom" onChange="SupprEspaces(this);" size="40" style="margin-left: 30px;" />
</td>
</tr>
<tr>
<td>
<label>Sujet:</label>
</td>
<td>
<input type="text" name="sujet" id="sujet" onChange="SupprEspaces(this);" size="40" style="margin-left: 30px;" />
</td>
</tr>
<tr>
<td>
<label>E-mail:</label>
</td>
<td>
<input type="text" name="email" id="email" onChange="SupprEspaces(this);" size="40" style="margin-left: 30px;" />
</td>
</tr>
<tr>
<td>
<label>Destinataire:</label>
</td>
<td>
<select name="destinataire" style="margin-left:30px; width:255px;">
<option value="0">-------------------------------------------------------</option>';
$query = "SELECT * FROM t_support ORDER BY niveauSupport";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
echo('<option value="'.$row['mailSupport'].'">'.$row['niveauSupport'].'</option>');
}
echo '</select>
</td>
</tr>
<tr>
<td>
<label>Message:</label>
</td>
<td>
<textarea name="comm" id="comm" cols="40" onChange="SupprEspaces(this);" rows="10" style="margin-left:30px; width:250px;"></textarea>
</td>
</tr>
<tr>
<td>
</td>
<td>
<input type="submit" name="enregistrer" id="enregistrer" value="Envoyer" style="margin-left:30px;" />
<input type="reset" id="reset" id="reset" value="Annuler" />
</td>
</tr>
</table>
<p class="verif_form">Tous les champs du formulaire sont obligatoires</p>
</fieldset>
</form>'; // Fermeture Formulaire
echo '</div>';
Je pense que l'erreur provient de cette ligne ci mais je n'arrive pas a la régler
if(nom.value.length >= 2 && prenom.value.length >=2 && sujet.value.length >=2 && email.value.length >=2 && isMail(email) && comm.value.length >=2){
return true;
}