2014-09-02 111 views
0

我有一个窗体,其中我使用单选按钮切换'input text><select>。问题是,当用户在<input text>中输入值而不是<select>时,我会正确返回结果。表单提交后选择值为空

基本上我发送检索类别(即选择radio buttons要么<input text>select)和searchKey(的<input text>值或select)。当我使用<input text>时,表格提交后将传输值,而没有使用select传输值,但两者的名称相同。即searchKey

任何人都可以请指出代码中的错误?

<div class="well"> 
     <form class="form-horizontal" action="<%=request.getContextPath()%>/modules/singoliMandrini/ricerca/viewRicerca.jsp" method="post"> 
        <fieldset> 
        <legend>Ricerca un mandrini</legend> 
        <div class="form-group" > 
         <label class="col-lg-2 control-label">Search by</label> 
         <div class="col-lg-6"> 
          <div class="radio"> 
           <label> <input onclick="showStuff('selection','status');" type="radio" name="searchType" value="id_singoli" />id mandrino</label> 
          </div> 
          <div class="radio"> 
           <label> <input onclick="showStuff('selection','status');" type="radio" name="searchType" value="id_tipo" />id tipo</label> 
          </div> 
          <div class="radio"> 
           <label> <input onclick="showStuff('selection','status');" type="radio" name="searchType" value="model" />model</label> 
          </div> 
          <div class="radio"> 
           <label> <input onclick="showStuff('status','selection');" type="radio" name="searchType" value="status" />stato</label> 
          </div> 
          <div class="radio"> 
           <label> <input onclick="showStuff('selection','status');" type="radio" name="searchType" value="linea" />linea</label> 
          </div> 
         </div> 
         </div> 
         <div class="form-group tempHide" id="selection"> 
          <label for="inputEmail" class="col-lg-2 control-label">Search keywords</label> 
          <div class="col-sm-4"> 
           <input type="text" class="form-control" name="searchKey" placeholder="keywords" /> 
          </div> 
         </div> 
         <div class="form-group tempHide" id="status"> 
          <label for="select" class="col-lg-2 control-label">Search keywords</label> 
          <div class="col-lg-4"> 
           <select class="form-control input-sm" name="searchKey"> 
            <option value="disponibile">disponibile</option> 
            <option value="montato">montato</option> 
            <option value="scrap">scrap</option> 
           </select> 
          </div> 
         </div> 
      </fieldset> 
      <p class="text-right"> 
       <input class="btn btn-info" type="submit" value="Ricerca" name="ricerca" /> 
      </p> 
     </form> 
     </div> 
     <% if(request.getParameter("ricerca")!=null) { 
      ricercaTipo ric = new ricercaTipo(); 
      ArrayList<ricercaBean> list = new ArrayList<ricercaBean>(); 
      list = ric.search(ricerca); 
      if(list.size()>0){ 
     %> 
     <div class="well"> 
     <table class="table table-striped table-hover "> 
      <thead> 
       <tr> 
        <th>#</th> 
        <th>id</th> 
        <th>Brand</th> 
        <th>Model</th> 
        <th>RPM</th> 
        <th>Nota</th> 
       </tr> 
      </thead> 
      <tbody> 

      <% for(int index=0;index<list.size();index++) { %> 
       <tr class="active"> 
        <td><%=index+1%></td> 
        <td><%=list.get(index).getId_mandrino()%></td> 
        <td><%=list.get(index).getId_tipo()%></td> 
        <td><%=list.get(index).getModel()%></td> 
        <td><%=list.get(index).getTimeStamp()%></td> 
        <td><%=list.get(index).getStatus()%></td> 
       </tr> 
      <%} %> 
      </tbody> 
     </table> 
    </div> 
     <% }else{%> 
    <div class="alert alert-dismissable alert-danger"> 
     <button type="button" class="close" data-dismiss="alert">×</button> 

     <strong>Oh No!</strong> No data found for the term "<%=ricerca.getSearchType()%>" <%=ricerca.getSearchKey()%>. Try again. 

我正在使用Jsp Bean发送数据。

+0

我没有看到它的值是什么,它不适用于哪个值?你能稍微更新一下这个问题吗?我认为有一些词缺失 – Jeroen 2014-09-02 11:17:15

+0

编辑和更新。希望现在更有意义。对不起,我不擅长英语。 :( – 2014-09-02 11:25:02

回答

1

您选择的下拉菜单和文本输入都具有相同的名称,因此它们的值映射到bean上的相同变量。你应该给他们不同的名字

+0

谢谢!我一直拉我的头发整天解决这一个! – 2014-09-02 12:51:32

+1

我知道痛苦 – steven35 2014-09-02 12:51:50