【发布时间】:2019-05-07 20:29:01
【问题描述】:
我有一个 html 表单,其中包含四个名称的下拉列表。
window.onload = function(){
document.getElementById("submit").onclick = showStudents;
}
function showStudents(){
if(document.getElementById("mary jones").value == "mary jones"){
document.getElementById("students").innerHTML = "Mary Jones";
}
else if(document.getElementById("jane doe").value == "jane doe"){
document.getElementById("students").innerHTML = "Jane Doe";
}
else if(document.getElementById("henry miller").value == "henry miller"){
document.getElementById("students").innerHTML = "Henry Miller";
}
else if(document.getElementById("john smith").value == "john smith"){
document.getElementById("students").innerHTML = "John Smith";
}
}
<div id="students">
<form id="getStudent" action="" method="GET">
<select name="students">
<option value="john smith" id="john smith">John Smith</option>
<option value="jane doe" id="jane doe">Jane Doe</option>
<option value="henry miller" id="henry miller">Henry Miller</option>
<option value="mary jones" id="mary jones">Mary Jones</option>
</select>
<br><br>
<input id="submit" type="submit">
</form>
当我点击提交时,调用了一个 Javascript 函数,我想显示我选择的学生的姓名,但它只显示第一个 if 语句的结果。我的想法是我需要将表单数据的值传递给函数,但不知道该怎么做。这是我想出的javascript代码。
【问题讨论】:
-
document.getElementById("mary jones").value == "mary jones"始终为true。期权的价值永远不会改变。从不检查其他条件。 -
您可以使用 element.getAttribute 通过元素获取名称我的猜测是您只能获得第一个值,因为第一个值始终在您的设置中返回 true
标签: javascript html css string forms