OVH Cloud OVH Cloud

boucle?

12 réponses
Avatar
VooDoo
Bonjour,
je vais une validation de formulaire en utilisant ce code:
if (( document.saisieinci.etataction[1].value != "Approuvée" )&&(
document.saisieinci.etat.value = "Soldée" )){
form_err += "Impossible de solder cette FIA, l\'action n°1 n\'est
toujours pas réalisée! ";}

comment puis-je faire cette validation pour des champs allant de:
etataction[1] à etataction[12]

merci pour votre aide
++
Voodoo

2 réponses

1 2
Avatar
VooDoo
idem avec la version trés longue:
Erreur : document.forms.saisieinci.elements["etataction[" + i + "]"] has no
properties
Fichier source :
http://intranet/modules.php?op=modload&name=Incidents&file=inci-modif&numint$
Ligne : 358

par contre hors de la boucle, si je mets une valeur en dur de i, par
exemple:
document.forms['saisieinci'].elements['etataction[3]'].value
cela fonctionne.....

apparement c'est la boucle qui foire et i qui n'est pas bien pris en
compte...

"ASM" a écrit dans le message
de news: 450ed136$0$27383$
pas mieux.... mais j'ai installé firefox ;)
Erreur : document.saisieinci.elements["etataction[" + i + "]"] has no
properties


bon alors la très longue ?

document.forms['saisieinci'].elements['etataction['+i+']'].value

Mais il est aussi possible que ty n'aies pas un des éléments sur ta page ?

etataction[0]
etataction[1]
etataction[2]
etataction[3]
etataction[4]
etataction[5]

vérifier aussi que ce n'est pas écrit avec un espace qque part

etataction[ 3]

et pareil pour 'soldée' et 'approuvée' (accents et maj ?)

il vaudrait mieux faire :

function valider() {
var form_err = ' ';
for (var i=0 ; i<6 ; i++)
{
if(!(document.forms['saisieinci'] &&
document.forms['saisieinci'].elements['etataction['+i+']']))
{
alert('element etataction['+i+'] innexistant');
return false;
}
if(document.forms['saisieinci'].elements['etataction['+i+']'].value!='Approuvée'||
document.saisieinci.etat.value != 'Soldée')
form_err += "Impossible de solder cette FIA : etataction["+i+"]n";
}
if (form_err != " ")
{
alert(form_err);
return false;
}
return true;
}



Dis moi : ce sont bien des values de champs texte que tu essaies de
vérifier ?



Avatar
VooDoo
arf je suis confus....
mes elements etataction commence à 1......
Merci a toi pour ton aide, tu m'as bien aidé!!
"VooDoo" a écrit dans le message de news:
450f93f3$0$1485$
idem avec la version trés longue:
Erreur : document.forms.saisieinci.elements["etataction[" + i + "]"] has
no properties
Fichier source :
http://intranet/modules.php?op=modload&name=Incidents&file=inci-modif&numint$
Ligne : 358

par contre hors de la boucle, si je mets une valeur en dur de i, par
exemple:
document.forms['saisieinci'].elements['etataction[3]'].value
cela fonctionne.....

apparement c'est la boucle qui foire et i qui n'est pas bien pris en
compte...

"ASM" a écrit dans le message
de news: 450ed136$0$27383$
pas mieux.... mais j'ai installé firefox ;)
Erreur : document.saisieinci.elements["etataction[" + i + "]"] has no
properties


bon alors la très longue ?

document.forms['saisieinci'].elements['etataction['+i+']'].value

Mais il est aussi possible que ty n'aies pas un des éléments sur ta page
?

etataction[0]
etataction[1]
etataction[2]
etataction[3]
etataction[4]
etataction[5]

vérifier aussi que ce n'est pas écrit avec un espace qque part

etataction[ 3]

et pareil pour 'soldée' et 'approuvée' (accents et maj ?)

il vaudrait mieux faire :

function valider() {
var form_err = ' ';
for (var i=0 ; i<6 ; i++)
{
if(!(document.forms['saisieinci'] &&
document.forms['saisieinci'].elements['etataction['+i+']']))
{
alert('element etataction['+i+'] innexistant');
return false;
}
if(document.forms['saisieinci'].elements['etataction['+i+']'].value!='Approuvée'||
document.saisieinci.etat.value != 'Soldée')
form_err += "Impossible de solder cette FIA : etataction["+i+"]n";
}
if (form_err != " ")
{
alert(form_err);
return false;
}
return true;
}



Dis moi : ce sont bien des values de champs texte que tu essaies de
vérifier ?







1 2