检查HTML输入元素是否为空或用户是否输入了值

zik*_*zik 14 html javascript dom

问题相关.我可以检查DOM中的元素是否有值?我试图将其置于'if'语句中,并且不确定我的方法是否正确.开始:

if (document.getElementById('customx')){
    //do something
}
Run Code Online (Sandbox Code Playgroud)

或者应该是:

if (document.getElementById('customx') == ""){
    //do something
}
Run Code Online (Sandbox Code Playgroud)

编辑:我的意思是,值customx是一个文本输入框.如何检查此字段是否未输入文本.

Jon*_*øgh 22

getElementById方法返回一个Element对象,您可以使用该对象与元素进行交互.如果找不到该元素,null则返回.对于input元素,value对象的属性包含value属性中的字符串.

通过使用&&运算符短路的事实,并且null在布尔上下文中将空字符串和空字符串视为"假",我们可以将元素存在的检查和值数据的存在结合起来,如下所示:

var myInput = document.getElementById("customx");
if (myInput && myInput.value) {
  alert("My input has a value!");
}
Run Code Online (Sandbox Code Playgroud)


小智 7

如果在 DOM 中找不到该元素,则 getElementById 将返回 false。

var el = document.getElementById("customx");
if (el !== null && el.value === "")
{
  //The element was found and the value is empty.
}
Run Code Online (Sandbox Code Playgroud)