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

检查Javascript中的文本框是否为空,javascript,html,Javascript,Html,这是我的代码,如果文本框为空,则应发出警报消息: function a(id) { var n=document.getElementById(id).value; if (n.length < 1) { window.alert("Field is blank"); return false; } } 功能a(id) { var n=document.getElementById(id).value; 如果(n.长度

这是我的代码,如果文本框为空,则应发出
警报
消息:

function a(id)
{
    var n=document.getElementById(id).value;
    if (n.length < 1)
    {
        window.alert("Field is blank");
        return false;
    }
}
功能a(id)
{
var n=document.getElementById(id).value;
如果(n.长度<1)
{
窗口。警报(“字段为空”);
返回false;
}
}

我遇到的错误是,该字段在第一次更改时未得到验证。但是,当文本框中填充了一些数据并被擦除时,现在会触发
OnChange
,并显示
警报
消息。如何修复此错误?

如果您要提交表单,您的验证应该在活动之前进行

无论如何,如果您想在onchange上使用这个,那么下面是代码

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

onchange
仅当文本框的值与以前的值相比发生更改时才起作用,因此它第一次不起作用,因为状态没有更改

因此,最好在提交表单时使用
onblur
事件

函数检查文本字段(字段){
document.getElementById(“错误”).innerText=
(field.value==”)?“字段为空。”:“字段已填充。”;
}


用这个表达你想要的东西

?按键之后?或者当你点击某个按钮时,会发生什么?澄清当我在输入数据“OnChange”时更改文本框时,我有点不清楚您的意思,即该字段第一次未得到验证,但我猜您的意思是,您希望在输入数据后立即进行检查。OnChange在您更改值并失去对元素的关注后激发-如果您只是更改数据,则只有在您从文本框中单击tab/Mouse后,事件才会激发。如果您想在每次击键时执行此操作,您应该在keyup/keydown/keypress事件中触发一个事件。@Ravi先生,您能帮我解决这个问题吗?如果用户只放置空格而没有字符,您就不能覆盖该实例。看起来您忘了在此处写入您的问题所在。请编辑您的帖子并向我们提供更多信息。
function valid(id)
    {
        var textVal=document.getElementById(id).value;
        if (!textVal.match("Tryit") 
        {
            alert("Field says Tryit");
            return false;
        } 
        else 
        {
            return true;
        }
     }