栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

设置自定义HTML5必填字段验证消息

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

设置自定义HTML5必填字段验证消息

程式码片段

由于这个答案引起了广泛关注,因此我想到了一个不错的可配置代码段:

(function (exports) {    function valOrFunction(val, ctx, args) {        if (typeof val == "function") { return val.apply(ctx, args);        } else { return val;        }    }    function InvalidInputHelper(input, options) {        input.setCustomValidity(valOrFunction(options.defaultText, window, [input]));        function changeOrInput() { if (input.value == "") {     input.setCustomValidity(valOrFunction(options.emptyText, window, [input])); } else {     input.setCustomValidity(""); }        }        function invalid() { if (input.value == "") {     input.setCustomValidity(valOrFunction(options.emptyText, window, [input])); } else {    input.setCustomValidity(valOrFunction(options.invalidText, window, [input])); }        }        input.addEventListener("change", changeOrInput);        input.addEventListener("input", changeOrInput);        input.addEventListener("invalid", invalid);    }    exports.InvalidInputHelper = InvalidInputHelper;})(window);

用法

<input id="email" type="email" required="required" />InvalidInputHelper(document.getElementById("email"), {  defaultText: "Please enter an email address!",  emptyText: "Please enter an email address!",  invalidText: function (input) {    return 'The email address "' + input.value + '" is invalid!';  }});

更多细节

  • defaultText
    最初显示
  • emptyText
    输入为空(已清除)时显示
  • invalidText
    当输入被浏览器标记为无效时(例如,当它不是有效的电子邮件地址时)显示

您可以为这三个属性中的每一个分配一个字符串或一个函数。
如果分配一个函数,则该函数可以接受对输入元素(DOM节点)的引用,并且 必须 返回一个字符串,该字符串随后将显示为错误消息。

兼容性

经过测试:

  • Chrome Canar47.0.2
  • IE 11
  • Microsoft Edge(使用截至2015年8月28日的最新版本)
  • Firefox 40.0.3
  • Opera31.0


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/575107.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号