Validation d'un formulaire [Résolu]

Signaler
Messages postés
24
Date d'inscription
lundi 11 février 2002
Statut
Membre
Dernière intervention
8 avril 2010
-
Messages postés
24
Date d'inscription
lundi 11 février 2002
Statut
Membre
Dernière intervention
8 avril 2010
-
Bonjour!

Voilà, j'ai un petit problème, j'ai une fonction qui marche très bien avec Internet Explorer, celle-ci change la valeur d'un champs hidden et désactive une liste déroulante. Le problème, elle ne marche pas avec FireFox...

La fonction est la suivante :

function ChangerNom(form,typeCategorie)
{
if (typeCategorie == "1") 
{ 
this.form.ete2.value="1"
this.form.ete.disabled=true
}
else if (typeCategorie == "4") 
{ 
this.form.ete2.value="4"
this.form.ete.disabled=true
}
}


La fonction est appelé avec un onChange.

FireFox donne comme erreur "this.form" not definited.

Quelqu'un a une idée ?

Merci!

4 réponses

Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
7
Premièrement "this.form" est extrêment ambigüe dans ta première fonction. Normalement l'attribut this est uniquement utilisé lorsqu'une fonction fait partie d'une «classe». En dehors des classes, il n'y a pas vraiment de valeur normal pour "this" et c'est entièrement à la discrétion du navigateur sa valeur dans ce cas (souvent la référence est window), puisque cette usage ne devrait jamais être faite.

Ce que tu as probablement voulu faire est ceci :

function ChangerNom(form,typeCategorie){
    if (typeCategorie == "1"){ 
        form.ete2.value="1";
        form.ete.disabled=true;
    } else if (typeCategorie == "4"){ 
        form.ete2.value="4";
        form.ete.disabled=true;
    }
}
Messages postés
24
Date d'inscription
lundi 11 février 2002
Statut
Membre
Dernière intervention
8 avril 2010

C'est encore moi!

J'ai oublié que j'ai une fonction de validation du formulaire qui est la suivante :

function validation_gardo()
{

        if(document.form.ete2.value == "0")
        {
        alert ('ATTENTION ! Sélectionnez un été...');
        document.form.ete.focus();
        return false;
    	}else{
        return true;
        }
}


Celle-ci marche super bien, et firefox ne donne pas d'erreur...

Merci!
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
13
Salut,

si this.form ne marche pas et que document.form marche pourquoi ne pas l'utiliser dans les deux cas ?

J'aurais plutôt écrit document.forms mais bon après si ton truc marche, tant miaux. Essayes juste en remplaçant this.form par document.form ou document.forms
Messages postés
24
Date d'inscription
lundi 11 février 2002
Statut
Membre
Dernière intervention
8 avril 2010

Bonjour!

Merci pour l'aide, ça l'a résolu mon problème!!


Superrr !

++