11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

Avec le bout de code suivant :
a écrit :
<div>
<form name='xx' method=post action=yy.php>
<input type=text name='zone1'>
<button onclick='javascript:valider();'>Valider</button>
</form>
</div>
...
function valider()
{
....
....
}

il se trouve que, quelque soit le contenu de la fonction valider(), Firefox va soumettre le formulaire.
Alors que je m'attends à ce que la soumission intervienne uniquement si j'invoque xx.submit(); à l'intérieur de valider();

Ce phénomène disparait dès que je sors le <button> de la <form>, ainsi :
a écrit :
<div>
<form name='xx' method=post action=yy.php>
<input type=text name='zone1'>
</form>
<button onclick='javascript:valider();'>Valider</button>
</div>


Ca vous interpelle ? Où est mon erreur ?

Merci Smiley cligne
Modifié par berny (15 Jan 2007 - 16:26)
C'est "return valider()" qu'il faut mettre non ? Et on utilisera plutôt l'évènement onsubmit du formulaire, c'est plusse mieux Smiley smile
a écrit :

C'est "return valider()" qu'il faut mettre non ? Et on utilisera plutôt l'évènement onsubmit du formulaire, c'est plusse mieux

Utiliser onsubmit, c'est pas seulement "plus mieux", mais c'est une nécéssité absolument indispensable.
QuentinC a écrit :

C'est "return valider()" qu'il faut mettre non ? Et on utilisera plutôt l'évènement onsubmit du formulaire, c'est plusse mieux

Utiliser onsubmit, c'est pas seulement "plus mieux", mais c'est une nécéssité absolument indispensable.
Tu peux développer ?
A+
Bonjour.

As-tu tout simplement essayé avec un :
<input type="button" onclick="fonction()" />


Après je suis sûr qu'on va me tomber dessus donc je dois te prévenir que si Javascript est désactivé ton bouton ne sert à rien donc c'est Javascript qui doit le créer.