一尘不染

必需属性HTML5

html

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

通常,我使用Safari作为默认浏览器。现在Safari5退出了,突然我的“取消/重置”按钮不再起作用了。每次按下重置按钮时,表单中的第一个字段都会获得焦点。但是,这与我的自定义表单验证相同。在其他浏览器上尝试时,一切都很好。我必须是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>

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

还有其他人偶然发现吗?


阅读 335

收藏
2020-05-10

共1个答案

一尘不染

我刚遇到Safari 5的问题,而Opera10却一直是一个问题,但我从未花时间来修复它。现在,我需要修复它,并看到您的帖子,但是如何取消表单还没有解决方案。经过大量搜索,我终于找到了一些东西:

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

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

适用于Safari 5和Opera 10。

2020-05-10