JS表单验证问题

时间:2012-08-21 10:10:37

标签: javascript

我是JS新手!这是我的第一个计划。它验证文本字段不应为null。我试过了,但似乎没什么用。

<script type="text/javascript">
    var data_age = document.getElementById("ages") ;

    function check() {
        if (data_age==null) {
            alert("no data") ;
            return false ;
        } else {
            return true ;
        }   
    }
</script>


<form name="frm" action="a.php" method="post" onsubmit="return check(this)">
<input type="text" name="age" id="ages">
<input type="submit" value="submit">
</form>

3 个答案:

答案 0 :(得分:4)

如果变量包含文本字段,则它永远不会等于null,原因在于它是文本字段。 (getElementById可以返回null,以防该元素不存在。)您想检查其值是否为空。您可以使用data_age.value === ""(获取值并将其与空字符串进行比较)。

其次,在HTML中定义元素之前,请调用getElementById。您可以交换<form><script>元素,以便在您调用getElementById时元素就在那里。另外,请使用var data_age = ...

答案 1 :(得分:2)

试试这个

<script type="text/javascript">

    var isBlank = function (str) {
        return str == null || str.trim().length == 0;
    }

function check()
{

var data_age = document.getElementById("ages") ;
if (isBlank(data_age.value))
{
alert("no data") ;
return false ;
}
else
{
return true ;
}   
}
</script>


<form name="frm" action="a.php" method="post" onsubmit="return check(this)">
<input type="text" name="age" id="ages">
<input type="submit" value="submit">
</form>

答案 2 :(得分:1)

你应该添加var data_age = document.getElementById(“ages”);内功能。

 function check()
        {
            var data_age = document.getElementById("ages") ;
            if (data_age.value == "")
            {
            alert("no data") ;
            return false ;
            }  
        }