2011-11-03 83 views
0

如果一個表單有兩個提交按鈕,那麼我需要通過jquery提交一個表單作爲觸發提交按鈕之一的提交。在jquery中通過觸發sumbit按鈕之一提交表單

<?php 
if(isset($_REQUEST['submit_button1'])) 
{ 
echo "form submitted by clicking submit button 1"; 
} 
elseif(isset($_REQUEST['submit_button2'])) 
{ 
echo "form submitted by clicking submit button 2"; 
} 

?> 


<form name="check" action=""> 
<input type="text" name="text_val" id="text_val"> 
<input type="submit" name="submit_button1" value="submit button1"> 
<input type="submit" name="submit_button2" value="submit button2"> 
</form> 

問題:$("form[name='check']").submit()提交表單的腳本。我需要通過提交表單來提交表單,通過在jquery中提交按鈕1或提交button2來提交表單。

請幫我提前...

回答

1

可以觸發點擊事件

$('input[name="submit_button1"]').click();' 

$('input[name="submit_button2"]').click(); 
1

您可以使用下面的代碼:

$("input[name='submit_button1']").click(); 
0

我認爲你可以調用「點擊」方法在按鈕上。

嘗試......

$("form[name='check'] input[name='submit_button1']").click(); 
+0

哈哈......在我輸入我的答案的時候,其他3個人輸入了相同的答案。 – iWantSimpleLife

0

嘗試:

$("form[name='check'] input[name=submit_button1]").click(); //or 
$("form[name='check'] input[name=submit_button1]").trigger('click'); 
+0

這兩個答案已經發布,所以需要重複 – defau1t

+0

@Matt。在發佈答案時,您可以實時查看是否發佈了新答案。它可能已經被避免 – defau1t

+0

時間和連接問題可能是原因,「實時」在ajax上下文中實際上不是「實時」的,日期/時間應該由SO顯示在答案上,以便我們可以確定確切的時間跨度。 – jerjer

1

,你可以嘗試這樣的事情。

$("input[name="submit_button1"]").click(function(){ 

sendData('button1') 

}) 

$("input[name="submit_button2"]").click(function(){ 

sendData('button2') 


}) 

function sendData(button){ 

//i assume your for data like this 
    var dataString = 'name='+ name + '&email=' + email + '&phone=' + phone ; 
//you can add your button as a parameter 
    dataString += '&button='+ button 

$.ajax({ 
    type: "POST", 
    url: "yoururl", 
    data: dataString, 
    success: function() { 
    //succed 
    } 
}); 

} 

,並在服務器端首先,你可以檢查按鈕參數然後應用你的邏輯。

相關問題