JS传入参数为空,则无法正常执行js方法
对于javascript大家肯定不陌生
但是有一种情况不知道大家注意到没有,例如代码如下:
<script type="text/javascript">
function checkState(flag,check) {
if (flag != "1"&&check!="1") {
alert("111111");
return false;
}
else {
return true;
}
return false;
}
</script>
对于上面的js脚本是没有任何问题的 很简单,调用的方法为:
<a href='xx.aspx?ID=<%# Eval("ID")%>' target="_self" title='' onclick='return checkState(<%#Eval("QualifCertificateFlag")%>,<%#Eval("ExaminationType")%>)'><img src="../images/Document.gif" width="16" height="16" border="0" /></a>
项目开发的时候,我点击这个链接的时候 总是不执行这段js脚本,百思不得其解,后来将传入的参数为固定值,js脚本执行了,后来我认为肯定是传入的参数有问题,然后经过跟踪查看,发现传入checkState的参数为(,),即数据库查出的值为null,导致无法正常传给前台。
已经找到问题了,自然就容易解决了,解决的方法有很多种,保证传入的参数不是(,)这样的即可,我采用的是在将参数传给后台进行处理,如果是null返回0,然后js中的判断进行相应的更改。
第一次发,不知道说明白了没有,就当时日常的一个笔记吧,不喜勿喷,欢迎高手指点,本人新手,谢谢!
浙公网安备 33010602011771号