缥缈止盈
使用setCustomValidity:document.addEventListener("DOMContentLoaded", function() {
var elements = document.getElementsByTagName("INPUT");
for (var i = 0; i
elements[i].oninvalid = function(e) {
e.target.setCustomValidity("");
if (!e.target.validity.valid) {
e.target.setCustomValidity("This field cannot be left blank");
}
};
elements[i].oninput = function(e) {
e.target.setCustomValidity("");
};
}})I 改为香草JavaScript来自Mootools的@itastorn在注释中,但是如果需要的话,您应该能够计算出等效的Mootools。编辑我在这里更新了代码setCustomValidity与我最初回答时所理解的略有不同。如果setCustomValidity设置为空字符串以外的任何内容,它将导致该字段被视为无效;因此,您必须在测试有效性之前清除它,不能只设置它而忘记它。进一步编辑如下面@thomasvdb的注释中所指出的,在某些情况下,您需要清除invalid否则,可能会有一个额外的通行证通过oninvalid处理程序来清除它。