javascript使用一个按钮提交多个表单

时间:2014-01-17 13:17:24

标签: javascript jquery forms submit form-submit

在我的HTML中,我有多种形式(文本输入,单选按钮,复选框和选择)和一个​​按钮。我想填写所有这些表格并将值发送到我的PHP文件。目前我正在尝试从文本输入中提交值并选择,但此时我仍处于困境。

我有一个js提交文件:

 submitForms = function(){
  document.getElementById("form1").submit();
  document.getElementById("form2").submit();
 }

我的表格是这样的: SELECT:

 <form id ="form1" name="dists" action="solve.php" method="post">
        <select id="demo" name="sadzba" onchange="selectElement1(this.value)>
                <option value="">-- vyberte oblasť --</option>
        </select>
    </form>

文字输入表格+按钮:

 <form id="form2" action="solve.php" method="post">
    <input type="text" name="spotVT" ><label>kWh za rok VT</label>
    <div id="nt" style='display:none'><input type="text" name="spotNT"  ><label>kWh za rok NT</label></div>

    </form>
 <input id="sub" type="button" value="Ok" style="margin-left:15px;" onclick="submitForms()"/>

但这不起作用。你能帮我吗?谢谢

4 个答案:

答案 0 :(得分:1)

只提交一份表格会更容易。您可以通过分配form =&#34; your-form-id&#34;来为您的select和input标签指定相同的表单名称。

答案 1 :(得分:0)

你可以试试这个。如果提交所有表格对您的页面没有问题

 $('form').submit();

实际使用的功能:

function trySubmitAllForms() {
    if ($('.saveSpinner').is(':visible')) {
        return;
    }
    if ($('form').valid()) {
        $('.saveSpinner').show();
        $('form').submit();
    } else {
        showValidationErrorMessages();
    }
}

答案 2 :(得分:0)

一旦您提交了一个表单,您的页面会在提交表单后重新加载或终止javascript,以便更好地使用Ajax同时提交多个表单

使用jquery

$("#sub").click(function(){
    $("form").each(function(){
        var fd = new FormData($(this)[0]);
        $.ajax({
            type: "POST",
            url: "solve.php",
            data: fd,
            processData: false,
            contentType: false,
            success: function(data,status) {
               //this will execute when form is submited without errors
           },
           error: function(data, status) {
               //this will execute when get any error
           },
       });
    });
});

当您点击ID为 sub

的按钮时,上面的代码会提交每个表单

答案 3 :(得分:0)

Bismillah,试试我们下面的方法,我们希望 insyaAllah 可以为您提供解决方案。

document.getElementById("submit").addEventListener("click", function () {
  $(function () {
    $("#formid01").delay(300).submit();
    $("#formid02").delay(300).submit();
  });
});