jQuery提交解决方法

时间:2010-07-27 13:06:10

标签: jquery submit

我在jQuery中找到了一些有趣的东西,我想让一些人比我更了解它,看看是否有解决方案。所以我想在我的页面上提交所有表单时回发页面的滚动位置。我可以通过执行以下操作来完成此操作:

$('form').submit(function() {
    $(this).append('<input type="hidden" name="scroll_position" value="' + $(document).scrollTop() + '" />');
    return true;
}

当用户点击或按下提交按钮时,这可以正常工作,但有时我会触发.submit()事件。例如:

$('button').click(function() {
    ...
    // Doing something special here
    ...
    $(this).parents('form')[0].submit();
}

无论是通过.submit()调用还是用户提交表单,我都会如何在提交页面时调用自定义提交回调?

4 个答案:

答案 0 :(得分:3)

如果你不想要,不需要制作新功能。 你只需要使用jquery的.submit(),你的工作就完成了。检查区别。

$('button').click(function() {
    ...
    // Doing something special here
    ...
    var form = $(this).parents('form')[0];
    $(form).submit();
}

快乐编码。

答案 1 :(得分:1)

您可以为此创建一个函数并在提交之前调用它:

function storePosition(){
  $('form').append('<input type="hidden" name="scroll_position" value="' + $(document).scrollTop() + '" />');
}

稍后你可以这样做:

$('form').submit(function() {
    storePosition();
    return true;
}

或者:

$('button').click(function() {
    ...
    // Doing something special here
    ...

    storePosition();
    $(this).parents('form')[0].submit();
}

答案 2 :(得分:1)

function myFrmSubmit(){
    $(this).append('<input type="hidden" name="scroll_position" value="' + $(document).scrollTop() + '" />');
    return true;
}

$('form').submit(myFrmSubmit);
$('button').click(function() {
    ...
    // Doing something special here
    ...
    myFrmSubmit();
    $(this).parents('form')[0].submit();
}

答案 3 :(得分:0)