带有多个提交按钮的JQuery表单插件

时间:2010-08-04 04:32:47

标签: jquery

我正在使用JQuery表单插件(http://jquery.malsup.com/form/)来创建Ajax表单。

我正在尝试使用两个提交按钮来处理表单提交和表单保存操作。我需要根据我想要执行的操作提交两个不同的URL:提交或保存。

我不太确定如何获取被点击的实际提交按钮的值,然后根据此信息通过AJAX提交表单。我需要一些帮助。

为了记录,我使用的代码语法类似于下面列出的内容(这不是实际代码):

// prepare Options Object 
var options = { 
    target:     '#divToUpdate', 
    url:        'comment.php', 
    success:    function() { 
        alert('Thanks for your comment!'); 
    } 
}; 

// pass options to ajaxForm 
$('#myForm').ajaxForm(options);

由于

4 个答案:

答案 0 :(得分:2)

我可能在发布之前没有彻底研究过这个问题。道歉。

我这样做是为了解决它(这是一个代码示例):

var $_ = jQuery;

$_(document).ready(function() { 
    $_("#id_submitbutton_1").click(function(){
       $_("#form_id").ajaxForm(options_1);
    });
    $_("#id_submitbutton_2").click(function(){
       $_("#form_id").ajaxForm(options_2);
    });
});

感谢Lalit,我认为你更接近我需要做的事情。

干杯。

答案 1 :(得分:1)

使用普通按钮并检查点击了哪个按钮(通过检查值属性),然后手动提交表单.........

答案 2 :(得分:0)

将js连接到两个按钮,并在js中根据url

执行表单提交
<input id="submit" type="submit" value="Submit"/>  
  <script type="text/javascript">  
  $(function() {  
    $("#submit").click(function() {  

    }  
}  
</script>

答案 3 :(得分:0)

我知道这是一个老问题,但我遇到了同样的问题,找到了比这里发布的更好的解决方案。在这种情况下,您应该使用ajaxSubmit而不是ajaxForm。您需要控制表单,因此您只需要放弃对提交按钮的控制。

$('#button1').click(function() { 
    // submit the form 
    $('#form').ajaxSubmit(options1); 
});
$('#button2').click(function() { 
    // submit the form 
    $('#form').ajaxSubmit(options2); 
});

当然,您可以以完全相同的方式使用ajaxForm,但这是不必要的过度杀伤。