我是JavaScript的新手,我正在尝试使用if语句来评估所选的单选按钮。它不起作用,所以我问这是因为我做错了什么还是因为它不可能在JavaScript中。
<form name = "f1">
<input type = "radio" Name = "r1" Value = "Input" onClick="GetSelectedItem(this)">Input
<input type = "radio" Name = "r1" Value = "Output" onClick ="GetSelectedItem(this)">Output
</form>
<script>
var output = document.getElementById('output');
function GetSelectedItem(el) {
output.innerHTML = el.value;
if(output=="Input")
*** do stuff *** ///
else if( output=="output")
** do stuff2 ***
}
</script>
答案 0 :(得分:2)
可行,是的,但你需要解决一些问题:
output.innerHTML = el.value;
if(output=="Input")
在if语句中,您实际上是在检查输出,这是元素引用,而不是它的文本或内部HTML。它应该是:
if(output.innerHTML=="Input")
或者只是(如果除了检查之外你还没有使用输出元素):
if(el.value=="Input")
见这个例子:
function GetSelectedItem(el) {
if (el.value == "Input") {
alert('input clicked');
} else if (el.value == "Output") {
alert('output clicked');
}
}
&#13;
<form name="f1">
<input type="radio" Name="r1" Value="Input" onClick="GetSelectedItem(this)">Input
<input type="radio" Name="r1" Value="Output" onClick="GetSelectedItem(this)">Output
</form>
&#13;
答案 1 :(得分:1)
您只能使用el.value
var output = document.getElementById('output');
function GetSelectedItem(el) {
output.innerHTML = el.value;
if (el.value == "Input") {
alert(el.value);
} else if(el.value == "Output") {
alert(el.value);
}
}
答案 2 :(得分:1)
不要使用==进行比较,而是使用===作为一个检查只是值而另一个检查值和类型。
我会写这样的函数:
<script>
function GetSelectedItem(el) {
var output = document.getElementById('output');
output.innerHTML = el.value;
if( el.value === "Input")
{
*** do stuff *** ///
}
else if(el.value === "output")
{
** do stuff2 ***
}
}
</script>