使用HTML5验证应用编程接口时,可以截获错误,访问错误消息并以不同方式呈现错误消息。
在使用WebShim Polyfill时,我希望不用访问customValidationMessage属性就能以同样的方式工作。
有没有一种方法可以配置WebShim,这样我们就可以编写一致的代码来拦截这些错误消息,如下所示。
$("input").on("invalid", function(evt) { evt.preventDefault(); alert(evt.currentTarget.validationMessage); });
..。我希望这段代码能在Polyfill中工作,也许我误解了它是设置还是什么?
我想这样做的原因是,我可以抓取所有无效字段,并在一个块中显示错误,而不是每个字段旁边。
谢谢,尼克
发布于 2014-01-22 18:45:54
是的,这是可能的。如果一切都设置正确,您只需更改对validationMessage的调用。Webshim总是通过Webshims来修复元素,而不是jQuery元素本身。这意味着你总是have to use $.prop to access DOM properties。
$("input").on("invalid", function(evt) {
evt.preventDefault();
alert($.prop(evt.target, "validationMessage"));
});您还可以使用eventdelegation:
$(function(){
$(document).on("invalid", function(evt) {
var message = $.prop(evt.target, "validationMessage");
if(message){
evt.preventDefault();
alert(message);
}
});
});注意:
无效的
https://stackoverflow.com/questions/21271731
复制相似问题