如果使用jquery在一个页面中存在多个表单,如何提交特定表单

时间:2013-02-28 07:31:05

标签: jquery forms

我有两种形式。

<form name="frm1" action="someurl" method="post">
  <input type="submit" name="btn1" class="buttons" value="Submit"/>
</form>

<form name="frm2">
  <input type="submit" name="btn2" value="Submit"/>
</form>

我需要点击“frm2”形式的“btn2”提交表格“frm1”。

6 个答案:

答案 0 :(得分:21)

<button type="submit" form="form1" value="Submit">Submit</button>

form属性指定按钮将提交的表单的id

答案 1 :(得分:15)

你会说

<input type="submit" name="btn1" id="btn1" value="Submit"/>

 $("#btn1").click(function(){  
  $("#frm1").submit();
}

<input type="submit" name="btn2" id="btn2" value="Submit"/>

 $("#btn2").click(function(){  
  $("#frm1").submit();
}

答案 2 :(得分:4)

<强> HTML

<form name="frm1" action="someurl" method="post" id="frm1">
<input type="submit" name="btn1" class="buttons" value="Submit"/>
</form>


<input type="submit" name="btn2" onclick="formSubmit()" value="Submit"/>

<强>的Javascript

<script>
function formSubmit()
{
document.getElementById("frm1").submit();
}
</script>

答案 3 :(得分:2)

考虑HTML:

    <form id="target" action="destination.html">
    <input type="text" value="Hello there" />
    <input type="submit" value="Go" />
    </form>
    <div id="other">
    ....
    </div>

事件处理程序可以绑定到表单:

    $('#target').submit(function() {
    alert('Handler for .submit() called.');
    return false;
    });

点击功能:

    $('#other').click(function() {
    $('#target').submit();
    });

这是链接看看: How can I submit form on button click when using preventDefault()?

答案 4 :(得分:1)

您可以使用ajax在第二个表单之前提交第一个表单:

$('form[name=frm2]').submit(function() {
    var form1 = $('form[name=frm1]');
    $.ajax({
        type: "POST",
        url: form1.attr('action'),
        data: form1.serialize(),
        async: false;
    });
});

答案 5 :(得分:0)

我通常会避免使用.submit()函数,因为我几乎总是需要通过.submit()允许我做的响应来做更多的事情。

因此,您提交按钮的非.submit选项必须更改为普通按钮。

$('.btn2').bind('click', function(){

    var form1Data = $('#frm1').serialize();
    $.ajax({
        url : 'someurl',
        type : 'post',
        datatype : 'json',
        data : form1Data,
        success : function(json) {
            sumbitForm2();
        }
    });
});

function submitForm2() {

    var form2Data = $('#frm2').serialize(); 
    $.ajax({
        url : 'urlToSumbitForm1',
        type : 'post',
        datatype : 'json',
        data : form2Data,
        success : function(json) {
            //do something if you need to
        }
    });
}