2013-02-28 64 views
5

我有兩種形式。如何提交一個特定的表單,如果多個表單存在於一個頁面使用jQuery

<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」。

+0

那麼你有什麼問題? – Musa 2013-02-28 07:33:17

+0

我無法在點擊btn2時提交frm2。 – Gaurav123 2013-02-28 07:34:32

回答

9

你會說

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

您可以使用Ajax在第二個之前提交第一種形式:

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

我通常會避免使用.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 
     } 
    }); 
} 
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()?

+0

嘗試在按鈕點擊功能中傳遞表單2的id。 – pavan 2013-02-28 07:57:27

2

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> 
10
<button type="submit" form="form1" value="Submit">Submit</button> 

form屬性指定的形式,該按鈕將提交的id

+0

絕對是更好的解決方案,謝謝 – 2017-07-21 20:33:45

+0

這不是最好的解決方案嗎?與此相比,使用jQuery事件似乎不是更簡單的方法。 – ArtlyticalMedia 2017-07-31 16:46:33

相關問題