【问题标题】:JSP: two submit button on the same formJSP:同一表单上的两个提交按钮
【发布时间】:2011-04-28 17:51:34
【问题描述】:

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

【问题讨论】:

  • 这不是JAVA 脚本。那是javascript,两个完全不同的东西....
  • 我不明白这里使用这个javascript函数!它是为了什么而写的?
  • @Nael,我编辑它,谢谢。 @Jigar Joshi,我在 roseindia.net/answers/viewqa/JSP-Servlet/… 中找到了这个解决方案,但它不起作用!
  • 我遇到了同样的问题。
  • 将roseindia.net 加入您的黑名单。该网站充斥着不良做法。

标签: javascript forms jsp servlets


【解决方案1】:

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

祝你好运。

【讨论】:

  • 没有必要返回true,但我同意整个onclick 是完全没有必要的。 OP 的问题很可能是因为"return validateStudentActivationForm()" 返回了false
  • @BalusC,很好发现。唉,尝试删除 onsubmit="return validateStudentActivationForm()" 以进行测试。
  • @BalusC,当更新 btn 出现时,它不会调用 js 函数 validateStudentActivationForm ??!!!
  • 阿拉,很高兴为您提供帮助。如果它解决了您的问题,请接受 Justin 的回答并支持 BalusC 评论,哦,并检查我更新的答案,以便您现在只能验证更新。
【解决方案2】:

摆脱onclick。你在这里不需要它。 type="submit" 已经提交了表单。您的具体问题可能是因为&lt;form&gt;onsubmit 已返回false

【讨论】:

    【解决方案3】:

    尝试将按钮的输入类型更改为"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。

    【讨论】:

      猜你喜欢
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-29
      • 1970-01-01
      • 1970-01-01
      • 2013-08-31
      • 1970-01-01
      相关资源
      最近更新 更多