我的代码中有这个javascript:
function Renew()
{
var txtID = document.getElementById('<%=dvSOItem.FindControl("txtInsertSOID").ClientID%>');
var ID = getCookie('SOIDTextCookie');
txtID.value = ID;
}
事实是,在页面加载时,它始终会输入此javascript,并且我的代码会中断,因为在编辑和查看模式下,“ txtInsertSOID”的命名不同。
我应如何防止程序在页面加载时运行此脚本?请帮忙
最佳答案
如果指定的控件不存在,则FindControl
将返回null
。有关更多信息,请参考MSDN Doc
<%=dvSOItem.FindControl("txtInsertSOID") != null ? dvSOItem.FindControl("txtInsertSOID").ClientID : string.Empty %>
因此,将您的代码更改为
function Renew()
{
var txtID = document.getElementById('<%=dvSOItem.FindControl("txtInsertSOID") != null ? dvSOItem.FindControl("txtInsertSOID").ClientID : string.Empty %>');
if(txtID != null){
var ID = getCookie('SOIDTextCookie');
txtID.value = ID;
}
}