在我的Web应用程序中,我为表单域使用了一些自定义验证。在同一个表单中,我有两个按钮:一个用于实际提交表单,另一个用于取消/重置表单。
大多数情况下,我使用Safari作为默认浏览器。现在Safari 5出来了,突然我的取消/重置按钮不再工作了。当用另一个浏览器尝试时,一切正常。
我改变了一下我的Javascript代码,我发现下面这行代码导致了这个问题:
document.getElementById("somefield").required = true;
要确定这将是真正的问题,我创建了一个测试场景:
<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<form id="someform">
<label>Name:</label> <input type="text" id="name" required="true" /><br/>
<label>Car:</label> <input type="text" id="car" required="true" /><br/>
<br/>
<input type="submit" id="btnsubmit" value="Submit!" />
</form>
</body>
</html>
发布于 2018-04-03 13:57:32
我刚刚遇到了Safari 5的这个问题,Opera 10已经有一段时间了,但我从未花时间去修复它。现在我需要修复它,看到你的帖子,但没有解决方案,但如何取消表单到有一些办法:
<input type=submit formnovalidate name=cancel value="Cancel">
适用于Safari 5和Opera 10。
发布于 2018-04-03 14:44:05
注意
<input type="text" id="car" required="true" />
是错的,应该是其中之一
<input type="text" id="car" required />
<input type="text" id="car" required="" />
<input type="text" id="car" required='' />
<input type="text" id="car" required=required />
<input type="text" id="car" required="required" />
<input type="text" id="car" required='required' />
这是因为该true
值表明该false
值会使窗体控件成为可选项,而事实并非如此。
https://stackoverflow.com/questions/-100003777
复制相似问题