首页 > 解决方案 > 在JSP中单击复选框提交表单

问题描述

我在 JSP 页面中有一个 HTML 表单。它有一个文本字段、复选框、提交和返回按钮。

<form name="inForm" method="post" action="" onSubmit="return formSubmitted();">
     <table border="0">
       <tr>
         <td valign="middle">Serial Number:</td>
           <td valign="middle">
              <input type="text" name="serialNumber" size="30" maxlength="50" value="<%= serialNumber %>"/>
           </td>
           <td valign="middle">                    
              <input type="checkbox" name="userSelection" value="YES" <%=dispOrderChecked%> **onChange="this.form.submit()**"> Display  Data in sorting order
           </td> 
        </tr>

        <tr>
           <td>
              <table border="0" width="100%">
                 <tr align="center">
                     <td align="center">
                    <input type="submit" name="submit" value="Search" onClick="document.pressed=this.value"/>
                    <%
                     if (SerialNumber != null)
                     {
                    %>
                    <input type="submit" name="submit" value="Back" onClick="document.pressed=this.value"/>
                   <%
                     }
                    %>
                </td>
             </tr>
        </table>
      </td>
     </tr>
   </table>

当我单击提交按钮时,表单正在提交并按预期工作。我还想在用户单击复选框时提交表单。我试过onChange="this.form.submit()"了,表格没有提交。

<script language="JavaScript">
function formSubmitted()
{
    if (document.pressed == 'Search' || document.inForm.userSelection.checked)    
    {       
        return validateSubmittedForm();
    }
    else
    {
        if (document.pressed == 'Back')
        {            
            window.history.back();
        }
    }    
    return false;
}

function validateSubmittedForm()
{
    var serNum = document.inForm.serialNumber.value;
    if (serNum != "" && serNum.length > 3)
    {
        document.inForm.action = "studentFound.jsp";
        return true;
    }
    else
    {
      if(serNum.length < 3)
      {           
        alert("Please enter at least 3 characters of the serial number");
        document.inForm.serialNumber.focus()
        return false;
      }          
    }
}
帮助我解决这个问题。谢谢。

标签: javascripthtmljsp

解决方案


推荐阅读