首页 > 解决方案 > 带有附加字段的jQuery表单提交不起作用

问题描述

我想通过 javascript 函数提交表单,并想在表单提交期间添加一个字段。下面是 HTML 和 JS 代码:

function next_func() {


    $("#discountTotalAmountShipping").submit(function(eventObj) {
      $('<input />').attr('type', 'hidden')
        .attr('name', "something")
        .attr('value', "something")
        .appendTo('#discountTotalAmountShipping');
      return true;
    });

}
<form id="discountTotalAmountShipping" action="somewhere" method="post">
  ... bla bla
</form>


<button onclick="next_func();" type="button" class="btn btn-warning btn-sm">NEXT > </button>

当我尝试提交表单时,我看到没有控制台错误,但表单没有提交。

标签: jquery

解决方案


你不需要那种复杂性。只需在按钮的单击处理程序中执行操作,然后在表单上触发提交操作。从 HTML 中可以清楚地看出,您没有提交按钮。因此,您甚至可能不需要提交处理程序:

function next_func() {
    $('<input />').attr('type', 'hidden')
      .attr('name', "something")
      .attr('value', "something")
      .appendTo('#discountTotalAmountShipping');
    $("#discountTotalAmountShipping").submit();

  }

HTML:

<form id="discountTotalAmountShipping" action="somewhere" method="post">
  ... bla bla
</form>


<button onclick="next_func();" type="button" class="btn btn-warning btn-sm">NEXT > </button>

这是演示: http: //jsfiddle.net/lotusgodkk/GCu2D/4015/ 从浏览器控制台检查 HTML 以查看结果。


推荐阅读