提交表单时的JQuery滚动问题

时间:2009-10-09 19:50:43

标签: asp.net jquery button scroll submit

我正在构建一个ASP.NET网站,我对一个页面的行为感到困惑,我有一个很长的表单和一个提交按钮,我在页面下面有一段javascript来处理在提交表单时向上滚动页面,第一次单击提交按钮时,所有后续点击都不起作用,任何想法为什么?

<script type="text/javascript">
    $(".thebutton").click(function(){
       $("html, body").animate({scrollTop: 200}, 1000); 
    });
</script>

干杯, THI

3 个答案:

答案 0 :(得分:0)

如果您的“提交”按钮执行完整回发,我会在第二个网页实例上查看源代码,并确保该脚本仍在那里。

答案 1 :(得分:0)

您的脚本将在帖子之前运行。

想象一下,如果你愿意:

初始页面加载 使用jQuery绑定Click事件

单击按钮 引发了jQuery Click html和body scrollTop设置为200 在“animate”期间提交表格

运行asp.net后端点击事件代码 页面重新加载。

string script = "$(function() { $('html, body').scrollTop(200); });";
ClientScript.RegisterStartupScript(this.GetType(), "scrollTop", script, true);

这应该照顾你想要完成的事情。

希望它有所帮助。

答案 2 :(得分:0)

稀释,

使用Ajax帖子使我的帖子与上面的帖子不同。

您的ajax呼叫是否更改了页面上的按钮?我假设你正在使用一个带有qustion中按钮的UpdatePanel。

因为当您进行Ajax调用时,正在重建UpdatePanel中的控件,DOM将它们视为不同的对象,并且这些新对象不再绑定到jQuery单击函数。您需要在ajax发布后重新绑定这些按钮click事件,以重新启用您要查找的功能。

使用jQuerys新的“实时”处理程序应该可以帮到你:

$(".thebutton").live("click", function() {
      $("html, body").animate({scrollTop: 200}, 1000);
});

希望它有所帮助。