Page_Load:this.btnAdd.Attributes.Add("onclick","if (document.getElementById('"+txtTPMCode.ClientID+"').value.length == 0){alert('请输入TPM代码!');
document.getElementById('"+txtTPMCode.ClientID+"').focus();return false;}else if(...){...;return false;}else{return true;}
");
document.getElementById('"+txtTPMCode.ClientID+"').focus();return false;}else if(...){...;return false;}else{return true;}
");
btnAdd.Attributes.Add(("onclick","return(add_click());");你的代码也改一下
<script language="javascript">
var objtxtTPMCode = document.getElementById("<%=txtTPMCode.ClientID%>");
var objtxtDepositChange = document.getElementById("<%=txtDepositChange.ClientID%>");function ChkAddInput()
{
var rt=true;
if (objtxtTPMCode.value.length == 0)
{
alert("请输入TPM代码!");
objtxtTPMCode.focus();
rt= false;
}
if (objtxtDepositChange.value.length == 0)
{
alert("请输入变更后押金!");
objtxtDepositChange.focus();
rt= false;
}
return rt;
}
function add_click()
{
var rt=false;
if(ChkAddInput())
{
rt=window.confirm ("请确认您输入的信息无误,确认后将不可更改!")
}
return rt;
}
</script>
由于<script language="javascript">
//新增检查
var objtxtTPMCode = document.getElementById("<%=txtTPMCode.ClientID%>"); //获得TPMCode
var objtxtDepositChange = document.getElementById("<%=txtDepositChange.ClientID%>");
出现在<body>的前面,也就是说运行到这里的时候document还没有装载完成,document.getElementById()当然就找不到对象了;
按照我前面给出的方法, var objtxtTPMCode 只是获得一个字符串,这是可以的,然后在function内部才调用document.getElementById,这时候页面肯定已经加载完成,就没问题了;老孟的方法也是可行的,先定义变量,不赋值,最后在</form>后面才进行赋值,道理是一样的。
<script language="javascript">
//新增检查
var objtxtTPMCode = "<%=txtTPMCode.ClientID%>"; //获得TPMCode
var objtxtDepositChange = "<%=txtDepositChange.ClientID%>";
//获得更改后押金
function ChkAddInput()
{
if (document.getElementById(objtxtTPMCode).value.length == 0)
{
alert("请输入TPM代码!");
document.getElementById(objtxtTPMCode).focus();
return false;
}
if (document.getElementById(objtxtDepositChange).value.length == 0)
{
alert("请输入变更后押金!");
document.getElementById(objtxtDepositChange).focus();
return false;
}
return window.confirm ("请确认您输入的信息无误,确认后将不可更改!");
}
</script>
<body>
.....=================================================================
Page_Load
{
if(!IsPostBack)
{
btnAdd.Attributes.Add("onclick","return ChkAddInput();");
}
}===================