[英]Javascript doesn't return a correct value
我正在研究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。我可以輕松地處理這部分,但是我會停留在最簡單的部分。
兩個輸入的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");}
}
您需要更改無線電的ID並保留名稱。 會的
HTML
不能有2個具有相同id
元素。 您有2個具有相同ID的元素,即optGender
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.