我想驗證所有材質下拉列表。但我的系統上出現frm.material is undefined
錯誤。Javascript + HTML如何驗證多維選擇對象
HTML標記
<form name="testFrm" id="textFrm">Material 1
<select name="material[1][]" class="Form_dropdown material_dd">
<option value="-1">Select</option>
<option value="2">Fine Silk</option>
<option value="10">NZ Wool</option>
<option value="3">Thick Silk</option>
<option value="1">Titbetan Wool</option>
</select>
<select name="material[1][]" class="Form_dropdown material_dd">
<option value="-1">Select</option>
<option value="2">Fine Silk</option>
<option value="10">NZ Wool</option>
<option value="3">Thick Silk</option>
<option value="1">Titbetan Wool</option>
</select>
<br />Material 2
<select name="material[2][]" class="Form_dropdown material_dd">
<option value="-1">Select</option>
<option value="2">Fine Silk</option>
<option value="10">NZ Wool</option>
<option value="3">Thick Silk</option>
<option value="1">Titbetan Wool</option>
</select>
<br />Material 3
<select name="material[3][]" class="Form_dropdown material_dd">
<option value="-1">Select</option>
<option value="2">Fine Silk</option>
<option value="10">NZ Wool</option>
<option value="3">Thick Silk</option>
<option value="1">Titbetan Wool</option>
</select>
<select name="material[3][]" class="Form_dropdown material_dd">
<option value="-1">Select</option>
<option value="2">Fine Silk</option>
<option value="10">NZ Wool</option>
<option value="3">Thick Silk</option>
<option value="1">Titbetan Wool</option>
</select>
<select name="material[3][]" class="Form_dropdown material_dd">
<option value="-1">Select</option>
<option value="2">Fine Silk</option>
<option value="10">NZ Wool</option>
<option value="3">Thick Silk</option>
<option value="1">Titbetan Wool</option>
</select>
<br />
<input type="button" onclick="return checkForm()" value="validate" />
</form>
我創建了一個的jsfiddle,你可以在這裏找到http://jsfiddle.net/QgghZ/12/
第一選擇選項的值是<option value="-1">Select</option>
,需要檢查是否有任何的下拉列表中沒有設置選擇。
我需要一個js函數來驗證這些下拉列表。
謝謝大家的支持提前
編輯
謝謝大家固定的jsfiddle的問題,但我需要它可以遍歷這些下拉菜單驗證功能。
編輯
如果我用下面的JS它顯示的名字
var boxes = document.getElementsByTagName('select');
for(i = 0; i < boxes.length; i++){
console.log(boxes[i].name);
}
// Output: material[1][], material[1][], material[2][] .... someotherDropdowns
ANSWER
這裏是我得到了所有的值
function checkForm(){
var e = false;
var boxes = document.getElementsByClassName('material_dd');
for(i = 0; i < boxes.length; i++){
if(boxes[i].value == '-1'){
e = true;
}
}
if(e){
alert('Please select a material');
return false;
}
}
因此,即使有其他選擇框,也只會檢查材料下拉列表。我可以迭代該值來查看是否有-1。
請把所有相關的代碼放在問題 – Eric 2013-02-13 07:52:50
@我已經添加了所有必要的細節。謝謝 – 2013-02-13 08:00:41