<select id="crewLeader" class="select">
<option></option>
</select>
我有输入和选择,其中看起来我使用此代码的选择框不是抓取选择框,我想因为它不是输入类型
var cbResults = "Issues Checked \n \n";
var textareas = "";
var selectbox = "";
for (var i = 0; i < form1.elements.length; i++) {
var e = form1.elements[i];
//console.log(e.name + "=" + e.value);
if (form1.elements[i].type == 'checkbox') {
if (form1.elements[i].checked == true) {
cbResults += form1.elements[i].value + ' \n';
//console.log('cb=' + cbResults);
}
} else if (form1.elements[i].type == 'textarea') {
textareas += form1.elements[i].name + " = " + form1.elements[i].value + ' \n';
} else if (form1.elements[i].type == 'select') {
//selectbox += form1.elements[i].value + ' \n';
console.log('select');
selectbox += form1.options[e.selectedIndex].text + ' / ' + form1.options[e.selectedIndex].value + ' \n';
}
}
如何循环获取每个选择框名称和所选值?
这不起作用
form1.elements[i].type == 'select')
更新
这部分&#34;如果符合以下条件,则可以输入:
else if(form1.elements[i].tagName === 'SELECT')
但是这段代码会抛出错误:
selectbox += form1.options[e.selectedIndex].text + ' / ' + form1.options[e.selectedIndex].value + ' \n';
错误:
TypeError: Cannot read property '0' of undefined
答案 0 :(得分:0)
对于下拉列表,这将是“select-one”或“select-multiple”。
所以,谈论单选择选择,你需要将你的条件改为:
form1.elements[i].type == 'select-one'
P.S。将if
链替换为switch
:
switch (form1.elements[i].type)
{
case 'select-one':
break;
case 'checkbox':
break;
case 'textarea':
break;
default:
console.log("Unknown type: " + form1.elements[i].type);
}