【发布时间】:2021-05-21 22:20:19
【问题描述】:
我的选项列表有以下 HTML 代码:
<p>Choose</p>
<select id="depo" value="depo" name="departs">
<option value="IT" name="departs" class="department">IT </option>
<option value="Literature" name="departs" class="department">Literature</option>
<option value="Math" name="departs" class="department">Math </option>
<option value="Biology" name="departs" class="department">Biology </option>
<option value="Physics" name="departs" class="department">Physics </option>
</select>
<button class = "button" onclick="form_sub(); return false;">Submit</button>
<p id="show_results"></p>
这是 JS 代码:
function form_sub()
{
var d_opt = document.getElementsByClassName("department");
var choosen_dep;
for(var x = 0; x<d_opt.length; x++)
{
if(d_opt[x] == true)
choosen_dep = d_opt[x].value;
}
document.getElementById("show_results").innerHTML="</br>" +choosen_dep+ "</br>";
}
每次我在选择框中选择任何选项时,代码中返回的值都是:undefined(在带有带有 show_results 函数的段落的字段中)。
每次我在选择框中选择任何选项时,代码中返回的值都是:undefined(在带有 show_results 函数的段落的框中)。
当我删除我的if(d_opt[x] == true) 时,返回的值始终等于选择框中的最后一个字段 - 即“物理”。
我不知道问题出在哪里 - 我尝试了这两种方法,但它们都没有返回我在表单中选择的内容。有谁知道可能出了什么问题?
【问题讨论】:
-
你的 HTML 无效
option元素不能有name或class属性 -
那么我应该把class和name放在select元素中吗?
-
只是一个名字,选择的项目不能被样式化。所有表单元素的名称都是其父表单的属性
-
单选:
document.querySelector('#depo option:checked')多选:document.querySelectorAll('#depo option:checked')
标签: javascript html forms select getelementsbyclassname