我在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();
}
答案 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。