下拉未定义的javascript表单验证错误

时间:2014-06-16 21:13:56

标签: javascript forms

我有以下html代码示例:

<form id="registration" action="process.php" onsubmit="return validateForm()" method="post">
    <label for="range_date" class="form">Select Range Date</a></label>
    <select name="range_date">
        <option value="" style="display:none;"></option>
        <option value="June 27th 2014 6:00pm">June 27th 2014 6:00pm</option>
        <option value="June 27th 2014 8:00pm">June 27th 2014 8:00pm</option>
    </select>
</form >

以下示例js代码:

if (document.forms["registration"]["range_date"] != 'undefined') 
{
    var range_date=document.forms["registration"]["range_date"].value;
    if (range_date==null || range_date=="")
    {  
        alert("Please select a Range Date");
        return false;
    }  
}

我在firebug声明中出错:&#34; document.forms.registration.range_date未定义&#34;但我不希望它到达if语句的内部。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

那是因为'undefined' != undefined

只需使用真理检查

if (document.forms["registration"]["range_date"]) {

或删除引号

if (document.forms["registration"]["range_date"]===undefined) {