仅在页面加载时执行 Javascript,而不在 PostBack (SharePoint) 时执行
Execute Javascript only on page load, not PostBack (SharePoint)
我正在尝试在SharePoint网站上的自定义页面上加载页面时执行一些JavaScript(它用当前用户填充人员选择器)。问题是代码也在回发时执行,我不想要,因为它会重置对人员选择器的任何更改。
我试过使用if(!IsPostBack)
但无济于事。一切都在这一点上出错了,给了
SCRIPT5009:"IsPostBack"未定义。
我在网上找不到任何可以帮助解决这个问题的东西。有什么想法吗?谢谢
您可以创建如下函数:
function IsPostBack() {
var ret = '<%= Page.IsPostBack%>' == 'True';
return ret;
}
您可能想尝试以下操作。使用 JavaScript pageLoad
方法并使用 PageRequestManager
对象的 isInAsyncPostBack
属性来确定它是否为回发。有关更多详细信息,请参阅此处的 MSDN 链接。
<script type="text/javascript" language="javascript">
function pageLoad(sender, args) {
if (!Sys.WebForms.PageRequestManager.getInstance().get_isInAsyncPostBack()) {
// call you JavaScript function in here
}
}
</script>
>IsPostBack
不是javascript变量,它是一个.NET webforms变量,仅在服务器上可用,因此客户端会抱怨它。那怎么办呢?我建议在控件的 html 中进行这种大杂烩:
<% if(IsPostBack) { %> <!-- runs on server -->
<script type="text/javascript">
alert('will only be printed to html if not postback');
</script>
<% } %> <!-- ends server if-block -->
相关文章:
- 无法在通过jQuery的ajax加载的页面中执行javascript
- JavaScript执行暂时挂起页面
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 当js函数's已执行
- 哪个先执行
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- HTML表单提交时未执行外部函数
- 在Safari执行javascript之前对其进行修改
- Amd,希望确保某个东西总是最后执行
- 在Windows 10中自动执行例行程序(主要与浏览器交互)
- 递归使用 eval() 是检查程序执行的好方法吗?
- 如何做到这一点,使代码在不传递条件后执行函数
- 如何在执行此特定onclick事件时执行JavaScript函数
- 如何在从浏览缓存加载页面时执行javascript
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- Jquery:代码在rails中的页面加载时未执行
- 如何防止jQueryonclick事件中的Ruby方法在页面刷新时执行
- JavaScript动画从不执行
- 仅在页面加载时执行 Javascript,而不在 PostBack (SharePoint) 时执行
- 在某些机器上,FileUpload.click()之后未执行PostBack列表