Forum de discussion
Forum « Programmation Javascript » (archives)
Re: Pb avec document.forms[
Envoyé: 27 février 2004, 7h47 par Oznog
Effectivement, tu ne peux avoir qu,un seul bouton "submit" par formulaire. Le type "submit" fait en sorte de soumettre le formulaire automatiquement.
Pour solutionner ce problème tu devra soumettre menuellement ton formulaire, justement à l'aide de la méthode submit();
Maintenant tu as trois choix.
1. Utuiliser l'élément de formulaire de type "button" :
<input type="button" name="monSoumettre1" onclick="return fonctionPourEnvoyer(1);" value="envoyer 1">
<input type="button" name="monSoumettre2" onclick="return fonctionPourEnvoyer(2);" value="envoyer 2">
2. Un élément de type image :
<input type="image" border="0" name="monBoutonSoumettre1" src="bouton1.gif" width="15" height="15" onclick="return fonctionPourEnvoyer(1);">
<input type="image" border="0" name="monBoutonSoumettre2" src="bouton2.gif" width="15" height="15" onclick="return fonctionPourEnvoyer(2);">
3. Ou tout hyperlien conventionnel :
<a href="javascript:return fonctionPourEnvoyer(1);">Mon bouton 1</a>
<a href="javascript:return fonctionPourEnvoyer(2);">Mon bouton 2</a>
Tu notera que j'ai ajouté "return" devant chaque appelle de la fonction "fonctionPourEnvoyer". C'est pour avoir la possibilité d'annuler le comportement (le clic sur le bouton ou hyperlien) suite à une mauvaise validation. Que je ne détaillerais pas ici, voir les tutoriels Javascript sur les formulaires.
Maintenant, il suffit de récupérer le paramètre pour identifier le bouton cliqué et ainsi forcer le submit après avoir bien sûr donner la bonne action.
La fonction "fonctionPourEnvoyer(_bouton)"
<script type="text/javascript" language="javascript">
function fonctionPourEnvoyer(_bouton) {
switch (_bouton) {
case "1" :
document.forms["Rechercher"].action = 'page1.htm';
document.forms["Rechercher"].submit();
break;
case "2" :
document.forms["Rechercher"].action = 'page2.htm';
document.forms["Rechercher"].submit();
break;
}
}
</script>
Ciao
Oznog
Réponses
|