Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery HTML5必需输入属性允许我提交表单_Jquery_Html - Fatal编程技术网

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 -> ...