Javascript元素为空
我是javascrit的乞丐,我正试图在全球范围内得到一个表单结果 单选按钮Javascript元素为空,javascript,Javascript,我是javascrit的乞丐,我正试图在全球范围内得到一个表单结果 单选按钮 <input type='radio' name='supporter' id='supporter' value='yes'> 还有另一页上的javascript <script type="text/javascript"> function show(){ var supporter = document.getElementById('supporter'); if
<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>
函数show(){
var supporter=document.getElementById('supporter');
如果(supporter.value==“是”){
警报(“它工作”)
}
}
show();
我不断得到一个错误,这是:支持者是空的
有人能告诉我我遗漏了什么吗?您可能在代码中的
元素到达之前运行了该脚本,因此当您尝试访问它时它不存在。确保脚本在输入之后出现(或者将脚本包装在document onload事件处理程序中,使其在页面完全加载之前不会执行)这取决于脚本的执行时间。Javascript在遇到时由浏览器执行,这意味着如果您的代码片段在HTML元素之前存在于页面中,那么此时HTML元素还不存在
一种解决方案是将Javascript放在页面的最末尾,或者将代码移动到document.onload
处理程序中
document.onload = function () {
show();
};
将其置于输入元素之后或之下。输入元素尚未加载,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>
注意:您不必将
放入JavaScript文件。此JavaScript是否与单选按钮位于不同的页面上?因为那样不行。我对你的javascript没有任何问题,只是少了一个分号:p@Awea,即使没有semicolon@domanokz,我知道一个好主意article@Awea我的意思是它仍然有效,我没有说这是一个好的做法,我也用分号。而且,我并不是有意冒犯你或其他什么谢谢你的帮助,谢谢你花时间在我身上,但不管我怎么努力,都没有任何帮助,但是thanks@Side:domanokz的解决方案非常有效:@Side,请参阅我的修订版,谢谢@Felix,我觉得他真的错过了一些东西。我想,现在我不会出现脚本错误,但警报不会弹出,也不会出现错误。无论怎样,它都会鼓励糟糕的编程习惯,并导致完全缺乏组织代码。如果你没有时间用正确的方式去做,那就不要做。
<html>
<head>
<script type="text/javascript" src="yourcodes.js">
</script>
</head>
<body>
<input id="supporter" value="yes" />
</body>
</html>
function show()
{
var supporter = document.getElementById('supporter');
if (supporter.value == "yes")
{
alert("it works");
}
}
//When page loaded
document.onload = function(){
show();
};