在提交带有更新面板和母版页的表单后设置javascript ScrollTo
Set javascript ScrollTo after submit form with updatepanel and masterpages
我有一个在更新面板中带有提交函数的表单。
为了测试它,我使用alert,这工作得很好。我提交表单,警报就会弹出。所以代码是有效的。
protected void SendProfileForm_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(),
"ScrollTo", "alert('test');", true);
}
现在我把它改成这个,这个什么也没做
protected void SendProfileForm_Click(object sender, EventArgs e)
{
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(),
"ScrollTo", "window.scrollTo(0, 500);", true);
}
如果我用这个代码窗口做一个onclientclick。scrollTo (0, 500);那么它就起作用了。所以这个javascript代码是工作的。
由于您正在发布异步调用,您必须使用ScriptManager
客户端API:
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(MyScrollTo);
这将在每次页面加载时触发function
。因此,您需要编写一些逻辑来完成此工作:
var needScroll;
function MyScrollTo(){
if(needScroll){
window.scrollTo(0,500);
}
}
所以你的服务器端代码需要设置needScroll
变量:
ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(),
"ScrollTo", "var needScroll = true;", true);
如果您想了解更多关于ScriptManager
客户端API的信息,请查看此处
相关文章:
- 通过JavaScript设置表单目标
- 当按下链接以在不同页面上的表单中的下拉列表中设置值时
- 在提交时设置表单隐藏值
- 无法获取表单's面板的x和y坐标,并在加载时从cookie中设置它们
- 如何设置Dojo表单中的selected选项
- 如何从javascript中设置html表单的属性
- 如何在表单提交时在谷歌分析上设置事件跟踪
- 在表单提交时设置JSON格式
- Dojo表单.选择未正确设置值
- Extjs 3.3动态地将字段添加到表单中,并设置它们的标签宽度
- 需要使用条纹(更多)重力表单插件将默认付款表单设置为“存档卡”
- 如何在支柱中使用操作表单设置文本框值
- 本地存储表单以将最后一个当前表单设置为新的当前表单
- 将表单设置为只允许.edu电子邮件地址
- 如何在javascript中为放置在引导模式中的表单设置密码和用户名
- 如何根据对上一个表单的选择,将选择表单设置为选项
- 如何为Angular.js表单设置默认值和可变值
- 如何在不用户单击提交的情况下从表单设置JavaScript变量?
- Ajax表单设置文本框值onsubmit
- 将表单设置为$pure,但保持当前值