如何在Javascript中向.submit()添加回调函数?

时间:2010-08-17 15:52:55

标签: javascript jquery function callback

我提交了一个表单元素的页面,需要一个函数在提交刷新页面后运行。我正在尝试将动画滚动添加回导致提交的单击元素。我已经覆盖了滚动部分,但我似乎可以弄清楚如何在页面从提交刷新后为滚动创建的函数运行。

非常感谢任何及时的帮助!

3 个答案:

答案 0 :(得分:2)

如果您正在进行完整提交,而不是AJAX提交,那么之后显示的页面与提交表单的页面不同。因此,第二页上将无法使用单击元素的标识。

您需要做的是,在提交处理程序期间,在表单的隐藏字段中存储所单击元素的标识(可能应该是某种类型的唯一ID)。

当页面刷新时,它现在应该具有可用的唯一ID(可能由服务器端代码放置在表单的相同隐藏字段中),并且javascript函数可以读取此值以控制滚动。

这有意义吗?

如果您更新问题以包含一些示例代码,那么我可以进一步澄清。

答案 1 :(得分:0)

如果您执行“真实”表单提交,实际页面刷新,则无法从客户端执行此操作(使用框架除外)。离开页面后,您的javascript超出了范围。您需要将javascript插入服务器上的刷新页面。

另一方面,如果你提交表单并通过ajax刷新页面的一部分,那么,根据你使用的框架,你将在你的ajax中寻找像onSuccess等的回调钩子提交功能

答案 2 :(得分:0)

这在ajax中会更容易,但是如果你需要将它作为回发来做,那么你需要将一个事件附加到body load事件并发回一些带有回发的数据,这些回发将标识页面已加载为回帖的一部分而不是新的页面加载。

e.g。在网页上创建一个隐藏的控制,并在回发上给它一个值,在回发检查中查看该隐藏控件是否有值,如果是,则运行你的scorll代码。