我的页面上有一个
HTML5表单,其中包含一个带有文本夹文本的电子邮件输入.它工作得很漂亮,我喜欢原生验证!
我不确定如何最好地提供旧浏览器.我正在使用一些javascript复制占位符的文本并将其作为值进行打印.它运行良好,但随后表单验证会消失,因为文本中的文本不是表单中的电子邮件地址.
我不想失去验证..任何想法?
HTML
<input id="email" type="email" placeholder="Enter your email address">
JavaScript(原型):
var Placeholder = Class.create({ initialize: function (element) { this.element = element; this.placeholder = element.readAttribute('placeholder'); this.blur(); Event.observe(this.element,'focus',this.focus.bindAsEventListener(this)); Event.observe(this.element,'blur',this.blur.bindAsEventListener(this)); },focus: function () { if (this.element.hasClassName('placeholder')) this.element.clear().removeClassName('placeholder'); },blur: function () { if (this.element.value === '') this.element.addClassName('placeholder').value = this.placeholder; } }); Event.observe(window,'load',function(e){ new Placeholder($('email')); });
编辑:
编辑2:
不,我不想将输入类型设置为文本.这会将验证的行为从电子邮件语法更改为拼写检查.