1

我的表单末尾有一个提交按钮,标记如下:

<button id="sendbutton" style="margin-left:25px;" class="btn btn-large btn-primary" type="submit">Send Responses</button>

此按钮调用此脚本:

<script type="text/javascript">
        $(function() {
            $('form').unbind('submit').bind('submit', function(){
                $.ajax({
                    type: 'post',
                    url: 'chapter.php',
                    data: $("form").serialize(),
                    success: function() {
                        alert('Your answers have been saved.');
                    }
                });
                return false;
            });
        });

    </script>

如何在此表单结构之外创建一个将调用相同功能的按钮?

4

3 回答 3

1

您可以将单击处理程序写入新按钮,并在处理程序中使用脚本触发表单提交

<button id="test" style="margin-left:25px;" class="btn btn-large btn-primary" type="button">Send Responses</button>

然后

jQuery(function($){
    $('#test').click(function(){
        $('form').submit()
    })
})
于 2013-10-03T03:23:52.877 回答
1

您可以创建任何您想要的按钮,即使它在表单之外。然后,要让那个按钮做同样的事情,你可以简单地做

$('#yourNewButton').click(function(){
    $('form').submit();
});

或者,为什么不将您的原始逻辑包装到它自己的函数中

function submitMyForm(){
    $.ajax({
        type: 'post',
        url: 'chapter.php',
        data: $("form").serialize(),
        success: function() {
            alert('Your answers have been saved.');
        }
    });
    return false;
 }

进而

$('#yourNewButton').click(submitMyForm);
$('form').submit(submitMyForm);
于 2013-10-03T03:23:59.100 回答
0

与其将提交处理程序设为匿名函数,不如将其设为命名函数

function submitHandler() {
    $.ajax({
        type: 'post',
        url: 'chapter.php',
        data: $("form").serialize(),
        success: function () {
            alert('Your answers have been saved.');
        }
    });
    return false;
}

然后将您的代码更改为

$('form').unbind('submit').bind('submit', submitHandler);

这样,您可以随时通过编写简单地调用该函数submitHandler();

于 2013-10-03T03:25:09.593 回答