Je crée une page dans JSP où j'ai une liste déroulante et une fois que l'utilisateur sélectionne une valeur, il doit cliquer sur le bouton Exécuter, puis la valeur est envoyée au Servlet.
</select>
<input type="submit" name="GO" value="Go"/>
Comment puis-je faire pour qu'il le fasse sur le changement? Par exemple. Lorsque l'utilisateur sélectionne John, toutes ses informations sont extraites de la base de données et affichées. Je veux que le système le fasse sans avoir à cliquer sur le bouton Aller.
Il suffit de demander l'aide de JavaScript.
<select onchange="this.form.submit()">
...
</select>
JavaScript simple fera -
<form action="myservlet.do" method="POST">
<select name="myselect" id="myselect" onchange="this.form.submit()">
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
<option value="4">Four</option>
</select>
</form>
Voici un lien pour un bon tutoriel javascript .
autrement qu'en utilisant this.form.submit()
vous soumettez également par identifiant ou nom. exemple j'ai forme comme ceci: <form action="" name="PostName" id="IdName">
Par nom: <select onchange="PostName.submit()">
Par Id: <select onchange="IdName.submit()">
Pour ceux dans la réponse ci-dessus. C'est définitivement JavaScript. C'est juste en ligne.
BTW l'équivalent jQuery si vous souhaitez appliquer à tous les sélections:
$('form select').on('change', function(){
$(this).closest('form').submit();
});