JSP:同一表单上的两个提交按钮

时间:2011-04-28 17:51:35

标签: javascript forms jsp servlets

我在JSP页面的同一个表单上有两个提交按钮,每个按钮都会根据具体情况显示在表单中。

问题是其中一个提交按钮提交了表单,另一个没有提交。

这是HTML表单

       <form  name="stdActivationForm"  id="stdActivationForm" action="ParentManagementServlet" method="post" onsubmit="return validateStudentActivationForm()">
            <input class="${isActivated? 'hideDiv':'showDiv'}" type="submit" value="confirm"  name="submit" onclick="submitForm('add')"/>
            <input class="${parent != null? 'showDiv':'hideDiv'}" type="submit" value="update"   name="submit"  onclick="submitForm('update')"/>

        </form>

这里是javascript函数

  function submitForm(btnName)
        {
            var form = document.getElementById("stdActivationForm");
            if (btnName =='add')
                document.form.submit();
            else if(btnName =='update')
                document.form.submit();
        }

3 个答案:

答案 0 :(得分:2)

我认为你的JavaScript函数需要返回true。 或者你可以删除onclick引用,它应该只使用type =“submit”。

祝你好运。

答案 1 :(得分:2)

摆脱onclick。你在这里不需要它。 type="submit"已提交表单。您的具体问题可能是因为onsubmit的{​​{1}}已返回<form>

答案 2 :(得分:0)

尝试将按钮的输入类型更改为"button",将方法更改为:

function submitForm(btnName)
{
   // skip validation for updates, remove btnName =='add' && when it is working
   if (btnName =='add' && !validateStudentActivationForm())
   {
     return;      
   }   
   document.forms["stdActivationForm"].submit();
}

无论如何,这两个按钮当前都在提交给同一个Servlet。