这段代码不起作用?当我尝试点击radiobutton时,没有任何反应。假设它将被禁用但没有禁用和启用任何内容。这是代码。
<script type="text/javascript">
function ann()
{
document.getElementById('butta').disabled = true;
document.getElementById('strup').disabled = true;
document.getElementById('name').disabled = false;
}
function own()
{
document.getElementById('butta').disabled = false;
document.getElementById('strup').disabled = false;
document.getElementById('name').disabled = true;
}
</script>
<input type="radio" name="checktype" id="ann" onclick="ann()" value="1"> Anime<br>
<input type="radio" name="checktype" id="own" onclick="own()" value="2"> My picture<br>
答案 0 :(得分:4)
单选按钮的ID是错误的。
答案 1 :(得分:1)
此代码正常运行!
1.您从函数引用的对象不存在:butta,strup,name。最有可能的是,你有这个名称的对象,而不是 id的。这通常是错误的
2.如果你无法让javascript工作,这意味着只有一个 - 你可能在某处出现语法错误
未来的一个建议 - 使用Firefox和Firebug附加组件。这将为您节省宝贵的时间。
答案 2 :(得分:1)
<强> It Works fine 强>
将 / edit 添加到网址以检查代码并进行播放。
我在示例中关闭了输入和中断元素。虽然代码在没有这些代码的情况下工作,但我认为关闭它们是一种好习惯。
编辑:
<强> Updated example 强>
这是为了证明当您在页面中有<select id="name">
,<input type="file" id="strup" />
和<input type="button" id="butta" />
时代码才有效。在Firefox 3和IE 7中正常工作。
代码中的其他地方一定存在问题
答案 3 :(得分:0)
该代码没问题。页面加载时检查Firefox错误控制台( Ctrl + Shift + J ),以查找可能会影响您定义的函数的可能问题来源,点击其中一个单选按钮后再次检查。如果这不具有教育意义,请尝试将alert()
添加到ann()
和own()
,这样您就可以确定是否正在调用它们。
答案 4 :(得分:0)
我认为问题在于您的ID和功能具有相同的名称。有些浏览器将HTML节点ID作为属性放入全局JavaScript范围。在此类浏览器中,ann
与document.getElementById('ann')
基本相同。
尝试重命名您的ID或功能,以便它们不共享相同的名称。像这样:
function annClick()
{
document.getElementById('butta').disabled = true;
document.getElementById('strup').disabled = true;
document.getElementById('name').disabled = false;
}
function ownClick()
{
document.getElementById('butta').disabled = false;
document.getElementById('strup').disabled = false;
document.getElementById('name').disabled = true;
}
</script>
<input type="radio" name="checktype" id="ann" onclick="annClick()" value="1"> Anime<br>
<input type="radio" name="checktype" id="own" onclick="ownClick()" value="2"> My picture<br>