Php 多个文本字段上的onBlur事件

Php 多个文本字段上的onBlur事件,php,javascript,Php,Javascript,我正在创建一个web表单,为了验证文本字段,我使用了onblur事件。但如果我将一个文本字段留空,然后转到另一个文本字段,则会出现一个消息框,当我尝试返回到前一个文本字段时,会触发第二个文本字段的onblur事件,它就像一个无限循环。我不能使用document.form.write。 是否有其他方法,使用javascript打印错误消息 如果您使用jQuery来实现这一点,将很容易 $('input[type="text"]').blur(function() ... }); 纯j

我正在创建一个web表单,为了验证文本字段,我使用了onblur事件。但如果我将一个文本字段留空,然后转到另一个文本字段,则会出现一个消息框,当我尝试返回到前一个文本字段时,会触发第二个文本字段的onblur事件,它就像一个无限循环。我不能使用document.form.write。
是否有其他方法,使用javascript打印错误消息

如果您使用jQuery来实现这一点,将很容易

$('input[type="text"]').blur(function() 
     ...
});
纯javascript的方式类似于

var inputs = document.getElementsByTagName('input');

for (var i = 0; i < inputs.length; i++)
    inputs[i].onblur = functionHandler;

// Common function
function functionHandler() {
    if(this.value == "") { //get the value of tb triggering the event
        alert('empty'); //show the message
    }        
}
var inputs=document.getElementsByTagName('input');
对于(变量i=0;i
快速(但不美观)修复:您可以修改现有代码以使用
onchange
而不是
onblur
-然后只有当内容在聚焦时发生实际更改时,才会触发事件(和消息),因此,如果您在字段之间来回单击而不更改任何内容,您的验证将不会一直被触发


更好的解决方案是不弹出消息,而是将其显示为页面的一部分。一种方法是使用JS简单地更改字段的背景颜色(如果无效),然后在提交时弹出一条消息,列出所有未解决的错误。

OP已经在使用onblur-为什么通过jQuery这样做可以解决问题?@nnnnnn,因为它很容易附加到多个文本框