Jquery HTML5必需输入属性允许我提交表单
我有一个超级简单的表格:Jquery HTML5必需输入属性允许我提交表单,jquery,html,Jquery,Html,我有一个超级简单的表格: <form> <input name="name" placeholder="Your name" required> <input name="email" type="email" placeholder="Your email" required> <input type="submit" value="Submit"> </form> 在Chrome中(就像在Chrome Ca
<form>
<input name="name" placeholder="Your name" required>
<input name="email" type="email" placeholder="Your email" required>
<input type="submit" value="Submit">
</form>
在Chrome中(就像在Chrome Canary中一样),它就像一个符咒,如果某些输入是空的,它不会让我提交表单(它还显示“请填写此字段”消息,这是应该的)。
但在许多其他浏览器(Safari、WebKit Safari)中,它允许我提交表单,所有输入都为空
有什么问题吗?我有点担心这个
事件。preventDefault
,也许它会阻止一些浏览器检查输入
s?您还不能依赖required
的支持(不幸的是)。见:
正如您所见,Safari尚未完全支持此API
在所有常用的浏览器都实现了它之后,您不应该依赖于此,因为恶意访问者可能使用非默认浏览器并跳过这些检查。您能将示例发布到jsfiddle吗?不访问caniuse真的很愚蠢,我道歉。我是如此热衷于使用Chrome,以至于我认为其他所有现代浏览器都支持这一点。很抱歉作为补充说明,Modernizer为我提供了一个受支持的
require
input属性,即使在不完全支持此属性的浏览器上也是如此。这对后备解决方案来说不是很糟糕吗?
$('form').submit (event) ->
do event.preventDefault()
$.post('../mail.php', $('form').serialize(), (data) ->
do $('form')[0].reset
)
.done -> ...
.fail -> ...
.always -> ...