【发布时间】:2011-11-28 15:06:08
【问题描述】:
我有这样的代码:
<input required>
在好的浏览器中,我可以像这样使用 jquery 在输入中添加一类错误:
$('input[required]').addClass('error');
但它在 IE 中不起作用。否则我会求助于这个,但它并不那么整洁......
HTML:
<input data-required=true>
Javascript:
if( $('input').data('required') ) $('input').addClass('error');
有什么想法吗?
谢谢,
会
编辑:
是的,我正在使用 HTML5。
IE 实际上是这样解释的:
<input required>
作为:
<input required="">
所以可以这样检查:
if( $('input').prop() == undefined )
但同样,这是一种有点混乱的做事方式,尤其是考虑到只有 IE 存在问题。此代码在所有其他浏览器中都能完美运行。
我基本上是在问是否有一种跨浏览器和整洁的检查方法。也许我有点完美主义者! ;)
【问题讨论】:
-
这是无效的 HTML。有效的 HTML 如下所示:
<input required="required" />. -
@DarinDimitrov
<input required>绝对是有效的 HTML。 -
这在很大程度上取决于您的文档类型。 HTML5 allows it
-
奇怪,验证器 (validator.w3.org/#validate_by_input) 说它无效。可能因为它仍然是一个草案,它没有正确实施。
-
<form action="index.php" method="post"><input required></form>为我验证。 @DarinDimitrov
标签: jquery forms internet-explorer validation html