Verification de formulaire

Signaler
Messages postés
5
Date d'inscription
lundi 13 septembre 2004
Statut
Membre
Dernière intervention
13 avril 2005
-
Messages postés
5
Date d'inscription
lundi 13 septembre 2004
Statut
Membre
Dernière intervention
13 avril 2005
-
Bonjour à tous,

J'ai un petit soucis avec un script tout bête... Il s'agit d'une vérification d'un formulaire html pour bien avoir certains champs remplis.

Code javascript :

<SCRIPT LANGUAGE="JavaScript">
function verifForm(formulaire){
if( formulaire.intitule.value == "")
alert('Veuillez donner un intitulé à votre demande.');
else
formulaire.submit();
}
</SCRIPT>

Code html du formulaire ( épuré ) :

<form method="post" name="demande" action="scripts/gestinc.asp" ENCTYPE="multipart/form-data">

<textarea cols=100 rows=8 name="description">

Pour précision, c'est de l'ASP qui tourne principalement derrière ( et qui me fait l'upload des fichiers )

Le résultat est le suivant : il vérifie bien si le champ "intitule" est plein ou non, car si c'est vide, l'alerte apparait et si c'est rempli, elle n'apparait pas.
Par contre, le formulaire ne se lance pas ! J'ai l'icône d'erreur de script sur le navigateur et son descriptif donne :

"Cet objet ne gère pas cette propriété ou cette méthode"

Voilà, j'espère avoir été clair et que la solution que vous m'apportera le sera aussi :)

Merci d'avance.

( j'ai renoncé à comprendre ou même à chercher après 5 heures dessus )

6 réponses

Messages postés
283
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
22 juin 2006

A mon avis (je ne suis sur de rien) le problème vient de la ligne:
if( formulaire.intitule.value == "")
En effet dans ton formulaire la zone de texte ne contient pas l'attribut value. Le script ne la trouve pas et génère l'erreur "Cet objet ne gère pas cette propriété ou cette méthode".
Tu peux essayer d'initialiser la valeur de ta zone de texte:

Si c'est bien de la que vient le problème... c'est gagné
Messages postés
5
Date d'inscription
lundi 13 septembre 2004
Statut
Membre
Dernière intervention
13 avril 2005

Ce n'est pas là dessus que porte le problème. Eh oui, j'ai oublié de dire que l'erreur se situe à la ligne :

formulaire.submit();

Ce que je trouve un peu fort pour un formulaire !

De plus, comme je le disais, je test sur le champ fonctionne très bien.

La seule chose qui me parait peut-être problématique, c'est le :

ENCTYPE="multipart/form-data"

qui rentre peut-être en conflit avec la méthode "submit" de javascript. Mais je n'ai trouvé aucune piste sérieuse sur le Net.

Personne d'autre ?
Messages postés
283
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
22 juin 2006

et document.formulaire.submit(); ???
Messages postés
5
Date d'inscription
lundi 13 septembre 2004
Statut
Membre
Dernière intervention
13 avril 2005

Grumpf ! je crois avoir trouvé ... c'était très bête. C'est le fait de donner un nom au bouton de commande !!

En virant le : name=submit

dans la ligne pour le bouton de commande qui lance la fonction, ça a l'air de marcher.

Je viens de trouver, mais c'est l'heure de la débauche. Piste à approfondir demain ;)
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,
j'aurais plutôt fait
<SCRIPT type="text/JavaScript">
function verifForm(formulaire){
if ( formulaire.intitule.value.length == 0)
     { alert('Veuillez donner un intitulé à votre demande.');
       return false; }
else { return true; } }
</SCRIPT>
<form 	method="post"
name="demande" 
action="scripts/gestinc.asp" 
ENCTYPE="multipart/form-data"
onsubmit="return(verifForm(demande));">

<textarea cols=100 
rows=8 
name="description"></textarea>

</form>

mais chacun fait ce qu'il veut ...
Cordialement Bul. [Site] [[mailto:marcel.Bultez@Tiscali.fr Mail]]
Messages postés
5
Date d'inscription
lundi 13 septembre 2004
Statut
Membre
Dernière intervention
13 avril 2005

Effectivement, cette deuxième solution était également proposée sur certains sites. Maintenant, je ne vois pas très bien la différence à l'éxecution.

En tout cas, ça marche maintenant et comme j'ai dû faire plus que copier / coller bêtement, j'ai finalement un peu appris lors de ma première incursion dans le monde terrrrrrrriiiiible du javascript ^^