Bonjour,
j'ai un petit souci avec la fonction focus() en javascript sous FF.
En effet, je test un champs de formulaire et lorsau'il n'est pas correct, apparition d'un petit message, effecament de la donnée et curseur sur ce champs.
Voici mon code HTML :
et mon code javascript :
Le hic, c'est que l'effacement de la valeur (='') marche,ainsi que le changement de style de la bordure, mais pas la prise de focus.
Par contre, marche sur IE (mais je sais qu'il est plus permissif concernant le code).
Donc je pense que c'est un problème de chemin pour la fonction focus().
J'ai essayé plein de chose (document. , form. , etc) mais je n'ai pas trouvé la combinaison gagnante.
Si vous avez une solution ...
merci par avance
Modifié par tay3112 (21 May 2007 - 18:19)
j'ai un petit souci avec la fonction focus() en javascript sous FF.
En effet, je test un champs de formulaire et lorsau'il n'est pas correct, apparition d'un petit message, effecament de la donnée et curseur sur ce champs.
Voici mon code HTML :
<form action='' method='post' enctype="multipart/form-data" id='fiche_renseignement'>
<fieldset>
<legend>Coordonnées </legend>
<label>Nom * :
<input name='nom' type='text' size='35' maxlength='30' value='<?php echo $nom ?>' onblur="Texte(this)"/></label><br />
<label>Prénom * :
<input name='prenom' type='text' size='35' maxlength='30' value='<?php echo $prenom ?>' onblur="Texte(this)"/></label><br />
<label>E-mail :
<input name='email' type='text' size='35' maxlength='35' value='<?php echo $email ?>' onblur="Email(this)"/></label><br />
</fieldset>
<input name='envoyer_renseignements' type='submit' value="envoyer" class='bouton'/>
<a href='../?page=acceuil' class='bouton'><img src='../Images/bouton_acceuil.PNG' /></a>
</form>
et mon code javascript :
function Texte(sChamps) { /* Vérification du'un champs texte */
var sTexte=sChamps.value.toUpperCase();
var rRecherche=/^[A-ZÀÂÄÇÉÈÊËÎÏÔÖÙÛÜ' -]{0,35}$/;
if(!rRecherche.test(sTexte)) {
alert ("Le format du chanps saisi est incorrect :lettres, espace, ' ou -");
sChamps.style.borderColor='#FF0000';
sChamps.focus();
sChamps.select();
} else
sChamps.style.borderColor='';
}
function Email(sChamps) { /* Vérification de l'email */
var sTexte=sChamps.value;
var rRecherche=/^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$/;
if (sTexte.length!=0 && !rRecherche.test(sTexte)) {
alert("Le format du l'e-mail saisi est incorrect : nom_utilisateur@nom_domaine.extension");
sChamps.value='';
sChamps.style.borderColor='#FF0000';
sChamps.focus();
sChamps.select();
} else
sChamps.style.borderColor='';
}
Le hic, c'est que l'effacement de la valeur (='') marche,ainsi que le changement de style de la bordure, mais pas la prise de focus.
Par contre, marche sur IE (mais je sais qu'il est plus permissif concernant le code).
Donc je pense que c'est un problème de chemin pour la fonction focus().
J'ai essayé plein de chose (document. , form. , etc) mais je n'ai pas trouvé la combinaison gagnante.
Si vous avez une solution ...


Modifié par tay3112 (21 May 2007 - 18:19)