html5 required属性使用中的注意事项

[[笔记]] [[html5]] [[required ]]

required 属性是 HTML5 中的新属性。
required 属性规定必需在提交之前填写输入字段。如果使用该属性,则字段是必填(或必选)的。
required 属性适用于以下 类型:text, search, url, telephone, email, password, date pickers, number, checkbox, radio 以及 file。

重点:required 属性必须在form中,且由submit按钮触发。

<form >
  Name: <input type="text" name="usr_name" required="required" />
  <input type="submit" />
</form>

[注意] input 输入框中回车时,会触发form提交表单

ajax方式提交数据,但希望使用required的提示方式。在原有基础上,增加form元素和submit按钮。
在onsubmit事件中通过return false取消submit的提交操作。

<form onsubmit="call_ajax(); return false;">
    <input type="hidden" name="id" id="id">    
    <input type="submit"  value="Save" >
</form>

动态创建form元素及submit按钮,并且使用required的提示方式。

var form =  new Element('form', {
    name: 'form',
});

var submit_button = new Element('input', {
    'type'      : 'submit',
    'value'     : 'save',
    'styles'    : {'display' : 'none'}
}).injectInside(form);

var edit_input = new Element('textarea', {
    name: 'text',
    required: ''
}).injectInside(form);

form.addEvent('submit', function (e) {
    //...
    return false;
}.bind(this));

form.inject(container);

[注意] 如果需要在输入框中对回车键进行处理,以提交表单操作。那么需要使用keyup事件。

[注意] 如果是keypress、keyup的情况,不能触发required的检查

[注意] keypress和keyup、keydown能响应的字符不一样


备用:使用 setCustomValidity 设置了自定义提示后,validity.customError 就会变成true,则 checkValidity() 总是会返回false,导致无论重新输入的格式正确与否,都会提示设置好的错误信息。

解决办法:用obj.validity.patternMismatch判断,如果输入的格式正确,就将setCustomValidity 清空,使JavaScript重新判断validity.customError的值

范畴:input 元素的 validity 属性包含一系列关于 validity 数据属性。
[[JavaScript 验证 API]]

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  •   JavaScript 最初的一个应用,就是分担服务器处理表单的责任,打破处处依赖服务器的局面。   尽管目前的...
    霜天晓阅读 3,890评论 0 3
  • 一、基础 在 JavaScript 中,表单有它自己独有的属性和方法。 acceptCharset:服务器能够处理...
    Upcccz阅读 3,089评论 0 1
  • 本章主要介绍:表单、文本框验证与交互、使用其他表单控制。这一章会继续沿用上一章 封装的 EventUtil 对象(...
    了凡和纤风阅读 2,615评论 0 0
  • 1 移动端开发分开主要分为三类 web App开发->H5页面开发 ->HTML5+CSS3+javascript...
    刘晓洋阅读 2,707评论 2 1
  • H5新增标签和属性[https://www.w3school.com.cn/html/html_form_attr...
    池鱼惊梦阅读 3,468评论 0 0