我正在使用JavaScript代码和onchange听众检查网站注册表单。 在检查非法字符,字符串太长等之前,需要首先检查空字段/空格。
我已阅读this。
但对于空字符串,
if (field.value ==="")
alert("Empty field!");
这不会产生所需的警报。
上述帖子末尾的人建议最近的浏览器版本可能不接受这样的声明。
那么,我该如何整理空/空白/忽略的字段?
修改
我已经尝试了
if (!field.value)
但它仅在用户已在字段中键入某些字符并在输入空白字段之前立即删除它们时才提供警报。它不会仅通过单击鼠标然后跳到下一个字段来提供警报。看起来我可能需要在开始时为这些表单字段分配空值。 。我正在使用隐式添加changeEvent侦听器,即在看到显式分配给元素的onchange属性的值时,它在没有任何addEventListener(..)语句的情况下被激活。
另外,
if (field.value.length == 0)
似乎没有产生任何警报。
答案 0 :(得分:0)
在这个脚本中你可以看到你的变量值的警告(一个console.log会引起嘈杂:) 使用===进行类型检查,但在您的示例中没有意义,因为您使用的是空字符串
<script>
var field= {};
checkEquality(field);
field.value = "";
checkEquality(field);
function checkEquality(object){
alert(object.value);
if (object.value === "")
{
alert("===");
}
if(object.value == ""){
alert("==");
}
}
答案 1 :(得分:0)
排序,我想。
我使用JavaScript空字段检查作为网络表单上逐个字段验证检查的一部分。
我使用 onchange 作为事件处理程序。 这是错的。 这里需要的是 onblur ,因为在一个完全空字段的情况下(即在远离它之前没有输入任何内容的字段),没有任何变化影响 - 因此不会发生 onchange 事件,从而触发JavaScript警报。
感谢您的努力。
我在几个星期内被困在这个问题上,并且只是在一些经验丰富的工作人员的实验性编程的帮助下对其进行了整理。
答案 2 :(得分:0)
您可以使用波纹管代码检查所有四(4)个条件以进行验证,如非空,非空白,未定义,而不是零只在javascript和jquery中使用此代码(!(!(variable)))。
function myFunction() {
var data; //The Values can be like as null, blank, undefined, zero you can test
if(!(!(data)))
{
alert("data "+data);
}
else
{
alert("data is "+data);
}
}