Javascript submit et onsubmit
Résolu
webmc
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
bigRoger -
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...
@+
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...
@+
A voir également:
- Submit button javascript
- Telecharger javascript - Télécharger - Langages
- Javascript arrondi ✓ - Forum Javascript
- My button is set - Forum Téléviseurs
- Javascript void 0 c'est quoi ✓ - Forum Réseaux sociaux
- Javascript echo ✓ - Forum PHP
1 réponse
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>
@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>
On peut aussi écrire :
<form action="blabla" method="post" onSubmit="return test();">
<input type="image" src="/img/annuler.png" onClick="if(onSubmit()) submit();" />
</form>