2

我是 JS 新手!这是我的第一个程序。它验证文本字段不应为空。我尝试了一切,但似乎没有任何效果。

<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>
4

3 回答 3

4

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

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

于 2012-08-21T10:13:16.737 回答
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>
于 2012-08-21T10:18:39.760 回答
1

您应该添加 var data_age = document.getElementById("ages") ; 内部函数。

 function check()
        {
            var data_age = document.getElementById("ages") ;
            if (data_age.value == "")
            {
            alert("no data") ;
            return false ;
            }  
        }
于 2012-08-21T10:20:03.753 回答