Question en javascript

Fermé
atout1 Messages postés 216 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 17 juin 2011 - 27 mai 2010 à 12:32
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 - 28 mai 2010 à 13:18
Bonjour,

j'ai une formulaire en php qui contiend 4 champs input.

-tous les champs doit être numérique
-champ 2 doit être inférieur au champ 1
-champ 4 doit être inférieur au champ 1

actuellement je fasse le controle en javascript et dans le cas d'erreur j'affiche une message d'alerte qui demande de vérfier les conditons.

la question est :
est ce c'est possible de faire d'une manière qu'il affiche l'alerte en colorant la condition qui cause l'erreur ?

Merci pour votre intervention
A+

3 réponses

Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
28 mai 2010 à 10:20
bonjour,

euh je vois pas bien comment est faite ta page mais pour colorer une phrase (si tes conditions sont écrites) document.getElementById("id").style.color="lacouleur"

si c est le champ que tu veux entourer en couleur
document.getElementById("id").style.border-color="couleur"

si ma réponse ne convient pas, détail un peu ton problème ;)
1
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
28 mai 2010 à 10:24
Je trouve la réponse pas mal!
Après si il veut plus de détail il faut qu'il donne le code de ces controles :-)
0
atout1 Messages postés 216 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 17 juin 2011
Modifié par atout1 le 28/05/2010 à 10:38
Bonjour, voila le code javascript :

au debut je teste si les champs sont vides; apres des differentes conditions et dans le cas où une de ces conditions est faux j'affiche une message d'alerte general qui demande à l'utilisateur de vérifier tout les conditions mais sans savoir kel conditions est la cause de cette erreur. Moi ma question est si c'est possible de faire d'une façon où je peux afficher la message d'alerte avec la condition qui cause le pb. Merci d'avance ou bien afficher la message d'alerte avec tous les conditions mais en colorant le(s) condition(s) qui cause l'erreur


function verifyForm()
{
if((document.verifyForm.epaisseur.value == '') || (document.verifyForm.largeur.value == '') || (document.verifyForm.longueur.value == '') || (document.verifyForm.profondeurSillon.value == '') || (document.verifyForm.Courbure.value == '') || document.verifyForm.longueurGerme.value == '')
|| (document.verifyForm.EnvT.value == '') || (document.verifyForm.Pericarpe.value == '')
|| (document.verifyForm.Testa.value == '') ||
(document.verifyForm.BandeHyaline.value == '') || (document.verifyForm.CoucheAleurone.value == '')
|| (document.verifyForm.tailleMaille.value == ''))
{
alert("Tous les champs * sont obligatoires");
return false;
}
else
{
if(document.verifyForm.tailleMaille.value > document.verifyForm.EnvT.value ||
document.verifyForm.tailleMaille.value > document.verifyForm.Pericarpe.value ||
document.verifyForm.tailleMaille.value > document.verifyForm.Testa.value ||
document.verifyForm.tailleMaille.value>document.verifyForm.BandeHyaline.value ||
document.verifyForm.tailleMaille.value > document.verifyForm.CoucheAleurone.value ||
document.verifyForm.profondeurSillon.value > document.verifyForm.epaisseur.value ||
document.verifyForm.Courbure.value > document.verifyForm.epaisseur.value||
document.verifyForm.longueurGerme.value > document.verifyForm.longueur.value ||
isNaN(document.verifyForm.largeur.value) ||
isNaN(document.verifyForm.longueur.value) ||
isNaN(document.verifyForm.epaisseur.value) ||
isNaN(document.verifyForm.profondeurSillon.value) ||
isNaN(document.verifyForm.Courbure.value) ||
isNaN(document.verifyForm.longueurGerme.value) ||
isNaN(document.verifyForm.EnvT.value) ||
isNaN(document.verifyForm.Pericarpe.value) ||
isNaN(document.verifyForm.Testa.value) ||
isNaN(document.verifyForm.BandeHyaline.value) ||
isNaN(document.verifyForm.CoucheAleurone.value) ||
isNaN(document.verifyForm.tailleMaille.value))
{
alert("Merci de vérifier si :\n-Les valeurs sont numériques\n-La taille de maille est inférieur à la plus petite épaisseur de tissus de l'enveloppe\n-Profondeur du sillon < Epaisseur\n-Profondeur du sillon < Epaisseur\n-Longueur du germe < Longueur");
return false;
}
else
{
return true;
}
}
}
0
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
28 mai 2010 à 10:44
Wow!
Tu as 4 champ et pour vérifier les 3 petites conditions que tu nous as dis plus haut tu fais tout ca??
A mon avis faut tout revoir car là...
C'est le bordel!

Ce que je peux te proposer c'est que files ton formulaire html et je te fais une fonction JS pour la vérification.
0
atout1 Messages postés 216 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 17 juin 2011
28 mai 2010 à 11:12
non en fait c'est pas ça . j'ai plus des champs et plus des conditions. mais en haut c'était un exemple. pour savoir si c'est possible en javascript de colorer dans l'alerte ou pas.

voilà le code HTML

les conditions sont :
-tous les champs sont numériques,
-(profondeur, courbure) < epaisseur
-taille de maille < (envT, pericarpe, testa, bande hyaline, couche aleurone)
-longuer du germe < longueur
<form action='' method='post'>
<table>
<tr>

<td align='right'>epaisseur :</td>

<td><input type='text' name='epaisseur' size=5> </td>
</tr>

<tr>
<td align='right'>largeur :</td>

<td><input type='text' name='largeur' size=5> </td>

</tr>

<tr>

<td align='right'>longueur</td>

<td><input type='text' name='longueur' size=5> </td>
</tr>


<tr>
<td align='right'>profondeur_sillon</td>

<td><input type='text' name='profondeur' size=5> </td>

</tr>

<tr>
<td align='right'>courbure;</td>

<td><input type='text' name='courbure' size=5> </td>

</tr>

<tr>
<td align='right'>longueur_germe</td>

<td><input type='text' name='longueurGerme' size=5></td>
</tr>


<tr>

<td align='right'> env_totale</td>

<td><input type='text' name='envT' size=5> </td>
</tr>


<tr>
<td align='right'>perciarpe</td>

<td><input type='text' name='pericarpe' value='' size=5></td>
</tr>


<tr>

<td align='right'> testa</td>

<td><input type='text' name='testa' value='' size=5> </td>
</tr>


<tr>

<td align='right'> bande_hyaline :</td>

<td><input type='text' name='bandeHyaline' value='' size=5> </td>

</tr>

<tr>

<td align='right'>couche_aleurone :</td>

<td><input type='text' name='coucheAleurone' value='' size=5></td>

</tr>


<tr>
<td align='right'> Taille de maille</td>

<td><input type='text' name='SM' value='' size=5> </td>
</tr>"



</table>

<input class='boutonForm' type='submit' value='valider'/> <br/>

</form>
0
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
28 mai 2010 à 11:14
La on a 13 input pas 4...
0
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
28 mai 2010 à 10:44
Si j'ai bien compris, tu veux changer la couleur du texte qui est dans l'alert ?
C'est a priori impossible (d'après moi)
0
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
28 mai 2010 à 11:07
Non je crois qu'il veut colorier l'input qui est en cause!
0
atout1 Messages postés 216 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 17 juin 2011
28 mai 2010 à 11:09
oui cé ca ma question
0
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
28 mai 2010 à 11:02
waouuuuu ca fais beaucoup de JS pour des controles comme ca...

perso pour ca je te conseil les expressions regulières!!!

contrôle du non vide, du obligatoirement numérique en 2 lignes^^
0
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
28 mai 2010 à 11:07
Moi je conseillerais du onBlur sur les inputs déjà, comme ca pas de soucis pour savoir lequel est fautif, dès que l'utilisateur fais nimp ca le remballe ^^
0
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
28 mai 2010 à 11:12
appel a une fonction JS via onBlur qui vérifie le champ via regex ca sera le mieux je pense ;)
0
atout1 Messages postés 216 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 17 juin 2011
28 mai 2010 à 11:32
merci; est ce que vous pouvez me donner un exemple ?? Merci
0
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
28 mai 2010 à 11:50
Sur chaque champ input tu peut rajouter:

onBlur="if(isNaN(this.value) alert("Ce champ doit être numérique");"

Ca te fera déjà le test en live de savoir si un champ est numérique ou pas. (Syntaxe peut être pas exact).
0
Gremy87 Messages postés 352 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 19 mars 2014 38
28 mai 2010 à 11:52
une parenthese de plus ^^ if(isNaN(this.value)) alert("Ce champ doit être numérique");
0