J'essaie de transmettre la valeur dataquery1
à une servlet mais elle ne renvoie rien. Voici mon code dans jsp:La valeur du bouton radio d'entrée ne renvoie rien dans le servlet
<form id="formquery" action="queryD" method="post">
<div>Search for :
<select id="option" class="enjoy-css" style="width:170px" name="optdata">
<option>Choose options</option>
<option value="scname">Scientific Name</option>
<option value="fname">Family Name</option>
<option value="location">Location</option>
<option value="wateruse">Water Usage</option>
</select>
<input class="enjoy-css" type="submit" name="Search" value="Search">
<a style="text-decoration: underline" onclick="resetQuery()">Reset</a><br/>
<br/>
<div id="opt1" style="display:none;">
Keyword :
<input class="enjoy-css" style="width:120px" placeholder="Enter keyword" type="text" name="dataquery1">
<br><br>
</div>
<br/>
<div id="opt2" style="display:none;">
<input type="radio" name="dataquery1" value="DTC"> DTC<br>
<input type="radio" name="dataquery1" value="Engineering"> Engineering<br>
<input type="radio" name="dataquery1" value="Business"> Business<br>
<input type="radio" name="dataquery1" value="Science"> Science<br>
<input type="radio" name="dataquery1" value="Law"> Law<br>
</div>
<br/>
<div id="opt3" style="display:none;">
<input type="radio" name="dataquery1" value="Low"> Low<br>
<input type="radio" name="dataquery1" value="Low to moderate"> Low to moderate<br>
<input type="radio" name="dataquery1" value="Moderate to high"> Moderate to high<br>
<input type="radio" name="dataquery1" value="High"> High<br>
</div>
</div>
</form>
Et voici dans mon servlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("queryD.java");
//get query from newquery.jsp
String dataquery1 = "";
dataquery1 = request.getParameter("dataquery1");
//get option from newquery.jsp
String optdata = "";
optdata = request.getParameter("optdata");
System.out.println("OPTDATA : " + optdata + " | KEYWORD : " + dataquery1 + ".");
Pour opt1
div, cela fonctionne parfaitement. Mais pour opt2
et opt3
il ne retourne rien. J'ai essayé de passer de l'entrée radio à l'entrée de texte, mais cela ne fonctionne toujours pas.
PS: opt1, opt2, opt3
L'affichage est réglé sur none
mais j'ai la fonction qui l'appelle.
Ok, mais j'ai besoin que le 'dataquery1' soit une chaîne car je ne peux pas y accéder en tant que tableau pour un autre usage (travail plus compliqué plus tard.) Et si je renommer le 2ème et 3ème radiobox avec un nom différent? Considère-t-il toujours comme un tableau aussi? –
Ensuite, vous devez utiliser des attributs de nom uniques. Ou changez simplement l'attribut de votre nom d'entrée de mot-clé en quelque chose d'autre. Ensuite, vous serez en mesure d'accéder aux cases à cocher normalement. –