必需属性HTML5

在我的Web应用程序中,我对表单字段使用一些自定义验证。在相同的形式下,我有两个按钮:一个实际提交表单,另一个取消/重置表单。

主要是我使用Safari作为我的默认浏览器。现在Safari 5出来,突然我的取消/重置按钮不工作了。每次我打的重置按钮第一个字段在我的形式确实得到了焦点。但是,这与我的自定义表单验证的行为相同。当尝试与另一个浏览器一切都工作正常。我不得不成为一个Safari 5的问题。

我改变了一点在我的Javascript代码,我发现以下行引起的问题:

document.getElementById("somefield").required = true;

为了确保这将是真正的问题,我创建了一个测试场景:

<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
</head>

<body>
    <form id="someform">
        <label>Name:</label>&nbsp;<input type="text" id="name" required="true" /><br/>
        <label>Car:</label>&nbsp;<input type="text" id="car" required="true" /><br/>
        <br/>
        <input type="submit" id="btnsubmit" value="Submit!" />
    </form>
</body>
</html>

我预期会发生的确发生了。第一个字段“名称”自动获得焦点。

还有人绊倒了吗?

我刚刚遇到这个问题与Safari 5,它已经是Opera 10一段时间的问题,但我从来没有花时间来解决它。现在我需要修复它,看到你的帖子,但没有解决方案,如何取消表单。经过大量搜索,我终于找到了一些东西:

http://www.w3.org/TR/html5/forms.html#attr-fs-formnovalidate

<input type=submit formnovalidate name=cancel value="Cancel">

适用于Safari 5和Opera 10。

http://stackoverflow.com/questions/3004703/required-attribute-html5

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:必需属性HTML5