【发布时间】:2015-10-15 20:17:14
【问题描述】:
我需要一种在新旧浏览器中验证表单的方法。
这是我的代码:
<form name="myForm">
<input type="text" name="contactname" placeholder="Name" required>
<input type="email" name="contactemail" placeholder="Email" required>
<input type="number" name="contactphone" placeholder="Phone Number" onkeypress='return event.charCode >= 48 && event.charCode <= 57'>
<button type="submit">SEND</button>
</form>
此代码在支持 HTML5 的浏览器中运行良好,但在 Internet Explorer 8 等旧版浏览器中无法运行。
所以我尝试在提交按钮中添加onclick="validateform()":
function validateform() {
// Support for old browsers
var x = document.forms["myForm"]["contactname"].value;
// if z is filled
var y = document.forms["myForm"]["contactemail"].value;
// if y is an email and it is filled
var z = document.forms["myForm"]["contactphone"].value;
// if z is a number
}
但是在新的浏览器中它验证了 2 次,这很烦人。 那么实现支持旧浏览器的验证的正确方法是什么?
【问题讨论】:
-
是的,在我看来,在这种情况下使用 polyfill 是最好的解决方案。这样,无论您的应用运行哪种浏览器,您都可以使用最新的 w3c 内容。
-
什么是好的 polyfill 库?
-
你只能坚持 JS 验证,这将适用于所有浏览器..
标签: javascript html twitter-bootstrap validation