document.frm.submit() inactif
Bonjour a tous,
C'est pas compliqué mais louche
Voila 2 fonction javascript qui verifie les champs d'un formulaire.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| function verifArt(){
var nbChp = document.frm.length;
var chk = 0;
for (var i=0; i<=nbChp-2; i++){//tous les chp st necessaire, on les verif tous
if (document.frm.elements[i].value==''){
alert ('Vous avez oublié de saisir un champ!!!! '+i);
}
else {
chk++;
}
}
if (chk==nbChp-1){
document.frm.envoi.value='article';
document.frm.submit();
}
}
function verifCmd(){
var nbChp = document.frm.length;
var chk = 0;
for (var i=0; i <= nbChp-2; i++){
if ((i!=1)||(i!=3)||(i!=4)){//On passe sur les champs non stockés ds la table cmd
if (document.frm.elements[i].value==''){
alert ('Vous avez oublié de saisir un champ!!!! '+i);
}
else {
chk++;
}
}
}
if (chk==nbChp-1){
document.frm.envoi.value='commande';
document.frm.submit();
}
} |
Et voici les bouton qui les appelles:
Code:
1 2 3
| <input name="article" type="button" value="Créer l'article" onClick='verifArt();'>
<input name="commande" type="button" value="Enregistrer la commande" onClick='verifCmd();'>
<input name="envoi" type="hidden"> |
L'input hidden sert pr le php qui envoie les données necessaires à la base
Lorsque l'utilisateur clic, la fonction appelée doit verifier certains champs, si ils sont tous remplis alors la fonction doit envoyer le formulaire "frm", mais rien ne se passe, meme pas une erreur ds la console de debug de Firefox, ni ds IE d'ailleurs.
J'ai vérifié la condition d'entrée ds le dernier if et elle est bonne c'est a dire que "chk==nbChp-1".
Sur ma page j'ai 2 form, le 1er "frm" et le 2e "class" qui apparait qu'apres avoir envoyé le 1er.
J'ai aussi vérifié qu'aucun autre element porte le meme nom que "frm".
Et essaye avec document.forms[0].submit().
En bref rien ne marche et aucune erreur n'est affichée. 8O
Merci d'avance pour vos réponses. :D
Re: document.frm.submit() inactif
Citation:
Envoyé par jaybebop
var nbChp = document.frm.length;
Un formulaire n'a pas de longueur (enfin à ce que je sache). Ce qui t'interesse c'est la longueur de document.frm.elements....
D'ou nbChp=null et tous les tests deviennent faux.
Sinon, prefere toujours un document.getElementById() pour retrouver ton formulaire, en lui assignant un id, plutot que de tenter de passer par les noms.....