OnClick不起作用

时间:2009-08-03 16:13:12

标签: javascript

这段代码不起作用?当我尝试点击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>

5 个答案:

答案 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范围。在此类浏览器中,anndocument.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>