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

Javascript JSP:同一表单上的两个提交按钮,javascript,forms,jsp,servlets,Javascript,Forms,Jsp,Servlets,我在JSP页面的同一个表单上有两个提交按钮,根据具体情况,每个按钮都会在表单中显示 问题是其中一个提交按钮提交表单,而另一个没有。 这是HTML表单 <form name="stdActivationForm" id="stdActivationForm" action="ParentManagementServlet" method="post" onsubmit="return validateStudentActivationForm()">

我在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函数需要返回true。 或者,您可以只删除onclick引用,它应该只使用type=“submit”


祝你好运。

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


祝你好运。

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

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

两个按钮当前仍提交到同一个Servlet。

尝试将按钮的输入类型更改为
“按钮”
,并将方法更改为:

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


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

去掉
onclick
。你在这里不需要它。
type=“submit”
已提交表单。您的具体问题可能是由于
onsubmit
返回了
false
摆脱
onclick
。你在这里不需要它。
type=“submit”
已提交表单。您的具体问题可能是由于
onsubmit
返回的
false

不是
JAVA
脚本引起的。这就是
javascript
,两件完全不同的事情……我不明白这个javascript函数在这里的用法!!它是为什么而写的?@Nael,我编辑它,thanx@Jigar Joshi,我在这里找到了这个解决方案,但它不起作用!与我面临的问题相同。将roseindia.net列入黑名单。那个网站充斥着糟糕的做法。这不是
JAVA
脚本。这就是
javascript
,两件完全不同的事情……我不明白这个javascript函数在这里的用法!!它是为什么而写的?@Nael,我编辑它,thanx@Jigar Joshi,我在这里找到了这个解决方案,但它不起作用!与我面临的问题相同。将roseindia.net列入黑名单。那个网站充斥着糟糕的做法。返回
true
是没有必要的,但我同意整个
onclick
是完全没有必要的。OP的问题可能是由于
“return validateStudentActivationForm()”
返回了
false
@BalusC,定位准确。Alaa,为了测试目的,请尝试删除
onsubmit=“return validateStudentActivationForm()”
。@BalusC,当出现更新btn时,它不会调用js函数validateStudentActivationForm??!!!阿拉,很乐意帮忙。如果它解决了您的问题,请接受Justin answer和upvote BalusC评论,哦,并检查我的更新答案,以便您现在只能验证更新。返回
true
不是必需的,但我同意整个
onclick
完全没有必要。OP的问题可能是由于
“return validateStudentActivationForm()”
返回了
false
@BalusC,定位准确。Alaa,为了测试目的,请尝试删除
onsubmit=“return validateStudentActivationForm()”
。@BalusC,当出现更新btn时,它不会调用js函数validateStudentActivationForm??!!!阿拉,很乐意帮忙。如果它解决了您的问题,请接受Justin回答和upvote BalusC评论,哦,并检查我的更新答案,以便您现在只能验证更新。