使用jquery.form.js ajaxSubmit()在成功后滚动到页面顶部。这是正常的吗?

时间:2011-02-10 03:04:29

标签: jquery forms

您好我已经设法在不重新加载的情况下使用此插件提交表单:http://jquery.malsup.com/form/ 而且使用常规.post()方法,浏览器总是滚动到顶部。这是正常的吗?

$(document).ready(function()

{

// Temporary upload demo
    if ($("#breadcrumbs:contains('AdrianTest')").length)
    {

    $('form.ltpo-form').ajaxForm();
    $('form.ltpo-form').submit(function(event) { 
   event.preventDefault();
   return false;
   });


    $('form.ltpo-form').submit(function() { 
        // submit the form 
        var options = { 
            data: { p_action: 'Save' },
            success:    function() { 
                alert('Success');
        } 
        }; 
        $(this).ajaxSubmit(options); 
        // return false to prevent normal browser submit and page navigation 
    event.preventDefault();
        return false; 
    });

    }
        ...

2 个答案:

答案 0 :(得分:1)

我有问题n是因为我在你的

之类的包装函数中使用了ajaxSubmit和ajaxForm
 $('form.ltpo-form').submit(function() {

答案 1 :(得分:0)

问题是由另一个脚本引起的:jquery.single-ddm.pack.js

(function(A){A.fn.singleDropMenu=function(C){var F;var E;var D=A.extend({timer:500,parentMO:null,childMO:null},C||{});this.each(function(){A("li",this).mouseover(function(){B();A("a",this).addClass(D.parentMO).siblings("ul").show()}).mouseout(function(){E=this;F=setTimeout(function(){B()},D.timer)});A("li ul li",this).mouseover(function(){if(D.childMO){A("a",this).addClass(D.childMO)}}).mouseout(function(){if(D.childMO){A("a",this).removeClass(D.childMO)}})});A(document).click(function(){B()});var B=function(){if(E&&F){A("a",E).removeClass(D.parentMO).siblings("ul").hide();clearTimeout(F);E=""}}}})(jQuery);

我仍然有兴趣知道如何阻止此脚本在ajaxSubmit上滚动页面...