评估JavaScript中的单选按钮

时间:2015-01-13 16:35:41

标签: javascript

我是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>

3 个答案:

答案 0 :(得分:2)

可行,是的,但你需要解决一些问题:

output.innerHTML = el.value;
if(output=="Input") 

在if语句中,您实际上是在检查输出,这是元素引用,而不是它的文本或内部HTML。它应该是:

if(output.innerHTML=="Input") 

或者只是(如果除了检查之外你还没有使用输出元素):

if(el.value=="Input") 

见这个例子:

&#13;
&#13;
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;
&#13;
&#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);
    }
}

Example

答案 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>