使用if语句切换禁用

时间:2012-11-14 23:52:38

标签: javascript html if-statement radio-button

所以我在使用这种禁用功能时遇到了麻烦。我试图用IF语句和单选按钮来怠慢禁用。我试过没有成功的if。如果可以的话请帮忙!我的代码如下。

<html>
<h1>Convert Temperature</h1>
<body>
<input id="example" type="radio" onClick="toggle('example', 'disableMe')" name="Radio" value="Radio"> 
From Fahrenheit to Celsius </br>
<input id="example" type="radio" onClick="toggle('example', 'disableMe')" name="Radio" value="Radio"> From Celsius to Fahrenheit
</br>
</br>
</br>
<form name="converter">
Celsius: <input id="disableMe" type="text" name="celsius" onChange="CelsiusConverter()"><br />
Fahrenheit: <input id="disableMe" type="text" name="fahrenheit" onChange="FahrenheitConverter()"><br />
<input type="button" value="Convert!" />
</form>
</body>
<script language="JavaScript">
<!--
function CelsiusConverter(){
document.converter.fahrenheit.value = (document.converter.celsius.value * 9 / 5) + 32
}
function FahrenheitConverter(){
document.converter.celsius.value = (document.converter.fahrenheit.value - 32) * 5 / 9
}
//-->
function toggle(radioID, toggleID) { 
var radio = document.getElementById(radioID); 
var toggle = document.getElementById(toggleID); 
updateToggle = radio.checked ? toggle.disabled=true : toggle.disabled=false;

if (radioID = checked)
{
toggle.disable=true;
}
}
</script>
</html>

我知道我在那里的IF看起来不对,有些东西需要修复,但我不知道怎么做!

3 个答案:

答案 0 :(得分:1)

 if (radioID = checked) {
toggle.disable=true;
}

应该是

if(radioID == checked) {
toggle.disable = true;
}

因为你没有将checked的值赋给radioID(=),而是比较两者(==)。

答案 1 :(得分:0)

代码存在一些问题。这是一个适合我的方法,有一些简化:

首先,更改控件,使其具有不同的ID和onClicks:

<input id="example1" type="radio" onClick="toggle(1)" name="Radio" value="Radio"> 
...
<input id="example2" type="radio" onClick="toggle(2)" name="Radio" value="Radio">
...
<input id="disableMe1" type="text" name="celsius" onChange="CelsiusConverter()">
...
<input id="disableMe2" type="text" name="fahrenheit" onChange="FahrenheitConverter()">
...

最后,将其编码为切换功能:

function toggle(id) { 
var base = 'disableMe';
var disable = document.getElementById(base+id); 
var enable = document.getElementById(base+(id == 1 ? 2 : 1));
disable.disabled = true;
enable.disabled = false;
}

答案 2 :(得分:0)

  • 要挑剔你应该更喜欢===到==进行比较。
  • 您还应该确保ID在您的页面中是唯一的。
  • <script language="javscript"更改为<script type="text/javascript"
  • 您期望checked在您的比较中的价值是什么?
  • jQuery会帮助你