【问题标题】:form not getting submitted on button click单击按钮时未提交表单
【发布时间】:2013-07-01 04:37:46
【问题描述】:

我正在尝试单击按钮提交表单,但希望用户确认他是否确定。 我在表单上有多个提交按钮,我只想在删除时弹出。 当我提交按钮的类型时。我的表单被提交两次如果我确认其他它被提交一次(我不希望它在这种情况下提交)。

我在页面上有多个表单。这就是为什么我尝试提交获取父节点而不使用 getElementbyId 的表单。

JavaScript 函数

function deleteEvent(btn){
      var confirmed=confirm('Do you want to delete the event?');
      if(confirmed){
          var f = btn.parentNode;
          f.submit();
          }
      else{
          return false;
          }
    }

HTML 代码

<form action="#" method="POST">
<input type="button" name="delete" value="Delete" onClick ="deleteEvent(this)">
</form>

谢谢。

工作解决方案:

<input type="submit" name="delete" value="Delete" onClick ="return confirm('Do you want to delete the event?');">

【问题讨论】:

  • 如果输入是 submit 类型,它将继续,除非您使用 event.preventDefault 或任何其他方法来阻止表单提交。
  • 这就是为什么我将其设为按钮类型,但后来我无法提交。
  • 您可以为表单放置一个 ID 并使用它来提交它而不是使用 parent
  • @Varada 但是我得到了表单对象,那么提交应该可以吗?我在运行时生成多个类似的表单,所以无论如何我只能从按钮的父级找到“表单”。

标签: javascript forms jsp post onclick


【解决方案1】:

试试这个

如果按钮类型是提交,则使用 onclick="return deleteEvent(this);"

<input type="submit" name="delete" value="Delete" onclick="return deleteEvent(this);">

【讨论】: