Javascript没有返回正确的值

时间:2013-11-07 01:41:15

标签: javascript html

我正在研究HTML和Javascript。

我有一个标签,你可以在下面看到

<label for="optGender">Gender: </label> 
<input id="optGender" type="radio" name="optGender" value="F" onclick="changeGender(this.value)">
Female
<br>
<input id="optGender" type="radio" name="optGender" value="M" onclick="changeGender(this.value)">
Male
<br>
Where do you want to live?
<br>
<select id="txtCity" name="lstCity" size="5">
<option value="06">Ankara</option>
<option value="34">Istanbul</option>
<option value="35">Izmir</option>
<option value="27">Gaziantep</option>
</select>
<br>

在我的javascript文件中,我有这个功能来检查它是否已经检查

function changeGender(whichOne){

    var gender = document.forms["ProcessInfo"]["optGender"].value;
    var optGender = document.getElementById("optGender");
    var txtCity = document.getElementById("txtCity");

    if ( !document.getElementById('optGender').checked )
    {
    errMessage += "Please select your gender.\n";
    document.getElementById('optGender').checked = false;
    }
    //if ( gender == "M" ) { alert("lol");}

}

当我选择“女性”按钮时,它有效,不会出错。但是当我选择男性时,它会给我一个错误,我没有选择任何选项。这有什么问题?

编辑*我真正想要做的是,如果我选择F,列表将包含以I开头的城市,因为M将成为G.我可以轻松处理这部分,但我最简单部分。

3 个答案:

答案 0 :(得分:3)

两个输入都有相同的ID。这不会奏效...... Document.getelementbyid返回它找到你提供的id的第一个实例,这是男性输入。我想你在这里想要的是选择而不是输入......

给我一​​点时间,我会为你修改你的代码。

<label for="optGender">Gender: </label> 
<input id="Female" type="radio" name="optGender" value="F" onclick="changeGender(this)">
Female
<br>
<input id="Male" type="radio" name="optGender" value="M" onclick="changeGender(this)">
Male
<br>
Where do you want to live?
<br>
<select id="txtCity" name="lstCity" size="5">
<option value="06">Ankara</option>
<option value="34">Istanbul</option>
<option value="35">Izmir</option>
<option value="27">Gaziantep</option>
</select>
<br>


function changeGender(whichOne){
    var gender = whichOne.value;
    if ( gender == "M" ) { alert("lol");}
    if ( gender == "F" ) { alert("wat");}

}

答案 1 :(得分:0)

您需要更改收音机的ID并保留名称。它会工作

答案 2 :(得分:0)

id中不能有2个具有相同HTML的元素。您有2个具有相同ID的元素,即optGender