出于某种原因,当我逐行执行时,下面的 for...in 循环不会执行。看起来它读取 Object 和 'let outerLoopProp' 语句,然后跳过整个循环体。
循环位于表单提交事件中。
我已将对象记录到控制台,并在代码到达 for..in 循环时用属性填充它。
form1.addEventListener("submit", (e) => {
e.preventDefault();
let forValidationCheck = {};
let allNames = ["Tarp 1", "Tarp 2", "Tarp 3"];
for(let r = 0; r < allNames.length; r++) {
let currentChosen = allNames[r].toLowerCase();
let optionsForCheck = document.getElementById(`selection${r+1}`);
let selectedArrayForCheck = [];
for(z=0; z < optionsForCheck.options.length; z++) {
if(optionsForCheck.options[z].selected === true) {
selectedArrayForCheck.push(optionsForCheck.options[z].value.toLowerCase());
}
}
Object.defineProperty(forValidationCheck, currentChosen, {
value: selectedArrayForCheck
})
}
for(let layerOuterLoop in forValidationCheck) {
//Code within for..in loop
}
});
<form id="form1">
<select name="selection1" id="selection1">
<option value="Tarp 1">Tarp 1</option>
<option value="Tarp 2">Tarp 2</option>
</select>
<select name="selection2" id="selection2" >
<option value="Tarp 2">Tarp 2</option>
<option value="Tarp 3">Tarp 3</option>
</select>
<select name="selection3" id="selection3">
<option value="Tarp 1">Tarp 1</option>
<option value="Tarp 3">Tarp 3</option>
</select>
<button type="submit">submit</button>
</form>
波斯汪
LEATH
相关分类