开发者

jQuery submit workaround

I found something interesting in jQuery, and开发者_Python百科 I wanted to run it by some folks who understand it better than me to see if there is a solution for it. So I want to post back the scroll position of the page when submitting all forms on my page. I can do this by doing the following:

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

This works as expected when user click or presses enter on the submit button, but there are times where I fire the .submit() event. Example of this:

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

How would I go about getting my custom submit callback to be called whenever the page is submitted regardless of it being initiated by a .submit() call or the user submitting a form?


No need to make new function, if you don't want. You just have to use jquery's .submit() and your work is done. Check the difference.

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

Happy Coding.


You can create a function for that and call it before submitting:

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

Later you can do:

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

Or:

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

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


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();
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜