边缘:对必填项进行表单验证,但只读文本区域与其他浏览器不同

时间:2019-07-02 12:03:38

标签: html validation

如果需要文本输入或Testarea表单字段,但同时为只读(且为空),则Firefox,Chrome等允许提交表单。

对于Edge,这同样适用于文本输入字段,但不适用于textarea元素。 Edge在这里尝试提交表单时要抱怨,文本区域不能为空。

笔:https://codepen.io/anon/pen/MMGKbg

<form action="javascript: alert('Sent #1');">
    <input type="text" required readonly />
    <input type="submit" />
</form>
<hr/>
<form action="javascript: alert('Sent #2');">
    <textarea type="text" required readonly></textarea>
    <input type="submit" />
</form>

两种形式,一种具有必填的只读input [type =“ text”]字段,另一种具有必填的只读textarea字段。在Firefox中,单击任何一个提交按钮都将javascript放入正在执行的表单的action属性中。

在Edge中,这适用于带有文本输入的表单,但是对于带有textarea的表单,浏览器会提示该textarea是必填字段。

这种行为是否违反规范?到目前为止,我发现关于必填属性,应该从验证中删除只读字段。

0 个答案:

没有答案