检查Javascript中的文本框是否为空

时间:2013-02-02 05:53:28

标签: javascript html

这是我的代码,如果文本框留空则应该引发alert消息:

function a(id)
{
    var n=document.getElementById(id).value;
    if (n.length < 1)
    {
        window.alert("Field is blank");
        return false;
    }
}

我得到的错误是该字段第一次没有得到验证onChange。但是当文本框中填充了一些数据并被删除时,现在会OnChange触发,并显示alert消息。我该如何修复这个错误?

3 个答案:

答案 0 :(得分:24)

只有当文本框的值与之前的值相比发生了变化时,

onchange才会起作用,所以第一次它不起作用,因为状态没有改变。

因此,最好使用onblur事件或提交表单。

function checkTextField(field) {
  document.getElementById("error").innerText =
    (field.value === "") ? "Field is empty." : "Field is filled.";
}
<input type="text" onblur="checkTextField(this);" />
<p id="error"></p>

(Or old live demo.)

答案 1 :(得分:3)

您的验证应该在您的活动假设您要提交表单之前进行。

无论如何你想在onc​​hange上这样做,所以这里是代码。

function valid(id)
{
    var textVal=document.getElementById(id).value;
    if (!textVal.match(/\S/)) 
    {
        alert("Field is blank");
        return false;
    } 
    else 
    {
        return true;
    }
 }

答案 2 :(得分:0)

function valid(id)
    {
        var textVal=document.getElementById(id).value;
        if (!textVal.match("Tryit") 
        {
            alert("Field says Tryit");
            return false;
        } 
        else 
        {
            return true;
        }
     }

使用它来表达事物