我是javascrit的初学者,我试图获得一个表格结果globaly
单选按钮
<input type='radio' name='supporter' id='supporter' value='yes'>
和其他页面上的javascript
<script type="text/javascript">
function show(){
var supporter = document.getElementById('supporter');
if (supporter.value == "yes") {
alert("it works")
}
}
show();
</script>
我一直收到错误,这个:支持者是空的
可以请别人告诉我我失踪了什么?答案 0 :(得分:5)
当执行脚本时,它将取决于。 Javascript由浏览器在遇到时执行,这意味着如果您的代码片段存在于之前的 HTML元素中,那么在该时间点,HTML元素尚不存在。
一种解决方案是将Javascript放在页面的最末端,或将该代码移到document.onload
处理程序中。
document.onload = function () {
show();
};
答案 1 :(得分:3)
您可能在代码中达到<input>
元素之前运行该脚本,因此当您尝试访问它时它不存在。确保您的脚本在输入后出现(或者将脚本包装在文档onload事件处理程序中,以便在页面完全加载之前它不会执行)
答案 2 :(得分:3)
将其放在输入元素之后或之下。尚未加载input元素并执行javascript以使您获得null。
解决方案1:
<html>
<head></head>
<body>
<input id="supporter" value="yes" />
<script type="text/javascript">
function show()
{
var supporter = document.getElementById('supporter');
if (supporter.value == "yes")
{
alert("it works")
}
}
show();
</script>
</body>
</html>
解决方案2:
或者如果你把脚本放在html的头部,只有在加载页面时才运行该函数。
<html>
<head>
<script type="text/javascript" src="yourcodes.js">
</script>
</head>
<body>
<input id="supporter" value="yes" />
</body>
</html>
在单独的javascript页面上:
function show()
{
var supporter = document.getElementById('supporter');
if (supporter.value == "yes")
{
alert("it works");
}
}
//When page loaded
document.onload = function(){
show();
};
注意:您不必将<script></script>
放入JavaScript文件中。