繁体   English   中英

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

[英]How do I add a callback function to .submit() in Javascript?

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

任何及时的帮助将不胜感激!

如果您要进行的是完整提交而不是AJAX提交,则随后显示的页面与提交表单的页面不同。 因此,被单击元素的标识将在第二页上不可用。

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

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

这有意义吗?

如果您更新问题以包括一些示例代码,那么我也许可以进一步阐明。

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

另一方面,如果您要通过ajax提交表单并刷新页面的一部分,则根据您使用的框架,您将在ajax提交函数中寻找类似onSuccess之类的回调钩子。

在ajax中这样做会更容易,但是如果您需要将其作为回发操作,则需要将一个事件附加到body load事件上,并通过回发发送一些数据,这些数据将识别出页面已作为a的一部分进行了加载回发,而不是新页面加载。

例如,在网页上创建一个隐藏的控件,并在回发中为其提供一个值,在回发中检查该隐藏的控件是否具有值,如果是,则运行您的scorll代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM