big zero
big zero

Reputation: 610

Unable to fetch value from selectbox to servlet

Trying to submit checked selectbox value(on at a time) along with textbox value to a servlet;here is my code(jsp) :

<script type="text/javascript">
function search(){
document.f2.action="/InfoUser/SearchBox";
document.f2.submit();
}
</script>

<form name="f2">
<div align="right">
<select id="select" name="select" style="color:#2D7EE7">
<option> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ----------- </option>
<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>
</select> 
<input type="text" name="search" style="color:#2D7EE7">
<input type="submit" value="Search" onclick="search()">
</div>
</form>

and in the servlet : I have written

String[] select = request.getParameterValues("select");
String search = request.getParameter("search");

Unable to fetch the value in servlet,am I missing some javascript/jquery script to get the value in servlet & how I can use it with the help of JSTL.Any rectification if I'm going wrong .....feel free to comment,will be welcome.

Upvotes: 0

Views: 5488

Answers (1)

Paulius Matulionis
Paulius Matulionis

Reputation: 23415

Try to change your form:

<form action="/InfoUser/SearchBox">
    <div align="right">
        <select id="select" name="select" style="color:#2D7EE7">
            <option> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -----------</option>
            <option value="a">A</option>
            <option value="b">B</option>
            <option value="c">C</option>
        </select>
        <input type="text" name="search" style="color:#2D7EE7">
        <input type="submit" value="Search">
    </div>
</form>

Or:

<script type="text/javascript">
    function search(){
        document.f2.action="/InfoUser/SearchBox";
        document.f2.submit();
    }
</script>

<form name="f2">
    <div align="right">
        <select id="select" name="select" style="color:#2D7EE7">
            <option> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ----------- </option>
            <option value="a">A</option>
            <option value="b">B</option>
            <option value="c">C</option>
        </select>
        <input type="text" name="search" style="color:#2D7EE7">
        <input type="submit" value="Search" onclick="search()">
    </div>
</form>

You are missing the name of the form and in your javascript you are trying to set the action on non-existing form.

In servlet you have to do:

String select = request.getParameter("select");
String search = request.getParameter("search");

You won't be able to use: String[] select = request.getParameterValues("select"); unless your select element will have multiple="true".

Upvotes: 3

Related Questions