如何处理JSP文件中的两个提交按钮



我的JSP页面带有两个提交按钮,如下所示

 <form name="myForm" action="app" method="post">
    <select name="selection" multiple="multiple" id="select" required>
        <option value="">Select Languages....</option>
        <option value="nl_value">Dutch</option>
        <option value="en_string">English</option>
        <option value="fr_value">French</option>
        <option value="de_value">German</option>
        <option value="es_value">Spanish</option>
    </select> <br> <br> <br> 
    <input type="submit" name="translate" value="Translate"> 
    <input type="submit" name="tableData" value="GetFullStringsContent">
</form>

对于第一个提交按钮,必须在下拉列中选择一个项目,因此我按需要保留<select>标签,对于下一个提交按钮,它是可选的

提交后将转到

 @WebServlet(value = "/app")
 public class LoginServlet extends HttpServlet {
 private static final long serialVersionUID = 1L;
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    if (req.getParameter("tableData") != null) {
        RequestDispatcher rd = req.getRequestDispatcher("application.jsp");
        rd.forward(req, resp);
    } else if (req.getParameter("translate") != null) {
        String[] str = req.getParameterValues("selection");
        String columns = "";
 //next there is some logic

但是,当我单击第二个按钮时,请求未转发到所需的JSP。给我解决方案

您可以在GetFullStringsContent上进行onclick,并在单击它时删除select上的"必需"

function test(){
  $("select[name=selection]").removeAttr('required');
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form name="myForm" action="app" method="post">
    <select name="selection" multiple="multiple" id="select" required>
        <option value="">Select Languages....</option>
        <option value="nl_value">Dutch</option>
        <option value="en_string">English</option>
        <option value="fr_value">French</option>
        <option value="de_value">German</option>
        <option value="es_value">Spanish</option>
    </select> <br> <br> <br> 
    <input type="submit" name="translate" value="Translate"> 
    <input type="submit" onclick="test()" name="tableData" value="GetFullStringsContent">
</form>

最新更新