Javascript submit et onsubmit

Résolu
webmc Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   -  
 bigRoger -
Bonjour,

Habituellement, j'utilise la fonction : <a href="javascript:document.formcontact.submit()">Valider</a> pour confirmer un formulaire en lieu et place d'un bouton submit. Afin de contrôler certains champs, je suis amené à utiliser : onsubmit="return validate(this)" dans la balise form et un fichier js externe contenant le script.

Ce dernier fonctionne très bien avec un bouton submit, mais à partir d'un lien, la fonction onsubmit n'est pas exécutée...

Après quelques rechreches sur le net qui expliquent, soit que la bonne méthode c'est un bouton submit et puis c'est tout, soit que c'est impossible... j'ai trouvé quelques pistes :

1 - <a href="#" onclick="formcontact.onsubmit();">Valider</a>

La fonction onsubmit est bien exécutée, mais une fois tous les contrôles effectués par le script, l'action submit n'est pas appelée, donc le formulaire n'est pas transmis.

2 - <a href="javascript:document.getElementById('formcontact').onsubmit();">Valider</a>

Une page blanche apparait avec le valeur false et ça s'arrête là.

Je suis convaincu qu'une solution doit exister, mais laquelle ?
Merci à celui ou celle qui me permettra d'avancer...

@+

1 réponse

webmc Messages postés 23 Date d'inscription   Statut Membre Dernière intervention   8
 
Hourra ! Je viens de trouver : solution ci-dessous.
@bientôt


<head>
<script type="text/javascript" src="js/fichier.js"></script>
<script language="JavaScript">
function submitform()
{
if(document.form.onsubmit())
{
document.form.submit();
}
}
</script>
</head>

<body>
<form method="post" name="form" id="form" action="fichier.php" onsubmit="return validate(this)">
....
<a href="javascript:submitform()">valider</a>
</form>
</body>
5
bigRoger
 
Merci pour l'astuce.

On peut aussi écrire :

<form action="blabla" method="post" onSubmit="return test();">

<input type="image" src="/img/annuler.png" onClick="if(onSubmit()) submit();" />

</form>
0