在以下函数中,我尝试验证用户是否选择了适当的选择值。运行脚本时,警报弹出框显示“未定义”。我需要使用其名称而不是ID来获取元素。
Sort table in =
<select name="SortIn">
<option value="Please Choose">Please Choose</option>
<option value="asc">Ascending order</option>
<option value="desc">Descending order</option>
</select>
<input type="submit" name="submit" value="Submit" onclick="return validateForm()"/>
</form>
<script type="text/javascript">
/* <![CDATA [ */
function validateForm()
{
//Validates that form elements are not empty
var test = document.getElementsByName('SortIn').value;
alert(test1);
if(test1 == null || test == "")
{
alert("Please select sorting order");
return false;
}
else
{
return true;
}
}
/* ]]> */
</script>
答案 0 :(得分:2)
document.getElementsByName('SortIn')
会返回 nodelist 。您需要获取该节点列表的第一个元素,如下所示:
var test = document.getElementsByName('SortIn')[0].value;
答案 1 :(得分:1)
你需要引用这样的元素:
var test1 = document.getElementsByName('SortIn')[0].value;
^
<强> jsFiddle example 强>
getElementsByName返回一个类似数组的元素集合,因此您需要指定所需元素的索引。