Validation d'un formulaire

Résolu
cs_BURN
Messages postés
24
Date d'inscription
lundi 11 février 2002
Statut
Membre
Dernière intervention
8 avril 2010
- 9 mars 2010 à 04:16
cs_BURN
Messages postés
24
Date d'inscription
lundi 11 février 2002
Statut
Membre
Dernière intervention
8 avril 2010
- 20 mars 2010 à 05:10
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

Arto_8000
Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
7
12 mars 2010 à 02:13
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;
    }
}
3
cs_BURN
Messages postés
24
Date d'inscription
lundi 11 février 2002
Statut
Membre
Dernière intervention
8 avril 2010

9 mars 2010 à 04:21
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!
0
cs_AlexN
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
18
9 mars 2010 à 12:40
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
0
cs_BURN
Messages postés
24
Date d'inscription
lundi 11 février 2002
Statut
Membre
Dernière intervention
8 avril 2010

20 mars 2010 à 05:10
Bonjour!

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


Superrr !

++
0