关于js中的全局变量
var I_form=document.getElementById("myform");
function setAgeVisibility()
{
if (I_form.pname.value==""){...
}
}
运行是提示I_form.pname.value未定义;
改成
function setAgeVisibility()
{
if (document.getElementById("myform").pname.value==""){...
}
}
可以正常运行。。。求大神给原因呢
JavaScript
全局变量
函数
------解决方案--------------------应该是在你代码跑到var I_form=document.getElementById("myform");的时候这个节点还没生成。
个人觉得是你这个节点完全是后期通过JS插入到DOM里面的,当你调用setAgeVisibility的时候,你是确定了这个节点已经被插入进去了,所以在里面写document.getElementById("myform")是可以找到节点的。
但是放在外面的时候全局变量document.getElementById("myform")没找到,I_form所以是undefined,所以在里面直接用I_form会报错。
------解决方案--------------------那看来你只适合这种方式
var I_form;
window.onload=function(){
I_form=document.getElementById("myform");
}
function setAgeVisibility()
{
if (I_form.pname.value==""){...
}
}