ajax回发后无法触发JS函数 [英] Cannot fire JS function after ajax postback

查看:75
本文介绍了ajax回发后无法触发JS函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用JQuery自定义Web表单。 Web表单不是由我创建的,所以我无法修改它。我的JQuery函数将隐藏表单上的一些行。 Jquery脚本包含在主文件中。当web表单加载了匹配的URL时,我的函数
将被触发并且它按预期工作。

I am trying to customize a web form with JQuery. The web form is not created by me so I cannot modify it. My JQuery function will hide some rows on the form. The Jquery script is included in Master file. When the web form is loaded with matching URL my function will be fired and it works as expected.

if(window.location.href.indexOf(") CstWrkflIP.aspx")> -1){// my code fire}

但是,在网络表单上有一个"添加阶段"。按钮。通过单击按钮,它将向表单添加一个新行。此操作将  触发
ajax回发(在检查时指向/_layouts/15/Postback.FormServer.aspx使用IE11开发人员工具)。所有表单元素似乎都已更新,
隐藏的行再次显示。

我的问题是,如何在每次回发后再次触发我的JQuery函数?

我试过了地方" _spBodyOnLoadFunctionNames.push(" myfunction");"在我的脚本的顶部。它在第一次加载页面时触发了myfunction但在回发时没有触发。

I have tried place "_spBodyOnLoadFunctionNames.push("myfunction");" at the top of my script. It triggered myfunction at first time page is loaded but not fire at Postback.

推荐答案

如果更新基于 UpdatePanel ,然后考虑在每次异步回发后调用的处理程序:
add_endRequest [ https://msdn.microsoft.com/en-us/library/bb383810.aspx ]。

If the update is based on UpdatePanel, then consider a handler that will be invoked after each asynchronous postback: add_endRequest [https://msdn.microsoft.com/en-us/library/bb383810.aspx].

如果没有任何作用,他们至少可以拦截"添加舞台"按钮的点击事件。然后启动一个计时器,它将监视变化。


这篇关于ajax回发后无法触发JS函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆