2011-11-03 82 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 
    } 
}); 

} 

,并在服务器端首先,你可以检查按钮参数然后应用你的逻辑。

相关问题