【问题标题】:Webshims lib: HTML5 web form validation not working in IE8Webshims lib:HTML5 Web 表单验证在 IE8 中不起作用
【发布时间】:2014-01-04 04:36:53
【问题描述】:

我是 HTML5 表单的新手,让它们在旧版浏览器中工作。我正在尝试使用 Webshims Lib polyfill 让我的简单 HTML5 演示表单在 IE8 中验证,但它似乎无法验证。据我所知,我已经按照Webshims Lib website 的指示进行操作。我究竟做错了什么?这是我的代码(如下)和live link

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script src="js/modernizr-custom.js"></script>
<script src="js/polyfiller.js"></script>

<style>
ul {list-style-type: none; margin-top: 100px;}
li {padding-bottom: 10px;}
</style>
</head>

<body>
<form id="myform" action="process.php" method="post">

<ul>
<li><label>Name</label>
<input type="text" name="name"></li>

<li><label>Email</label>
<input type="email" name="email" required></li>

<li><label>Numbers</label>
<input type="number" name="numbers"></li>

<li><label>Message</label>
<textarea name="message" placeholder="Type Here" required></textarea></li>

<li><input id="submit" name="submit" type="submit" value="Submit"></li>
</ul>

</form>

<script>
$.webshims.polyfill();
</script>

</body>
</html>

【问题讨论】:

    标签: html forms internet-explorer-8 webshim


    【解决方案1】:

    您必须将整个 js-webshim 文件夹复制到您的项目中。目前你只包含了 polyfiller.js。此脚本仅处理 polyfills 并从 shim 文件夹中包含它们。

    如果你打开你的开发者控制台,你会看到你有很多 js/shims...js 的 404 请求。

    一些注意事项,只要你只使用表单,你应该使用 webshims.polyfill('forms') 或 webshims.polyfill('forms forms-ext') 而不是 webshims.polyfill()。如果仍有问题,您应该使用 dev 文件夹中的文件并打开控制台。

    【讨论】:

    • 仅 HTML5 表单验证检查的依赖项是什么?我是否需要传输和上传整个“js-webshim”文件夹才能使用验证检查?我的 chrome 控制台有 3 个文件被列为丢失(shim.css、dom-extend.js、1.js)。我应该只传输这些文件和 polyfill.js,这就是我所需要的吗?我没有检查 IE8 控制台。我正在一个安全性很高的内部网中的站点上工作,并且很难将文件传输到封闭的网络中,因此所需的文件越少越好。文件必须单独传输!谢谢。
    • 简短回答:否。这实际上取决于您使用的功能集。 1.js 例如包括 mediaelement API。你必须调用 webshims.polyfill('form') 来获取你需要的文件。加载的文件因浏览器而异。如果你有使用 grunt 的经验,你可以用更少的文件构建你自己的版本。你不能压缩/解压缩这个吗?
    • 我会看看是否可以通过网络获取这些文件(无法传输 zip)。感谢您的宝贵时间。
    • alexander 我能够得到所有传输的文件。再次感谢您的帮助。在我结束这个之前的最后一个问题:我需要在处理表单之前进行 php 服务器端验证,还是我只需要 HTML5 客户端验证?谢谢。
    • @redshift 您仍然需要在 PHP 中验证所有数据服务器端。但是,您不需要将错误报告做得那么漂亮:如果您已经启用了对 JS 的检查,那么您可以假设您的真实用户都不会触发服务器端验证。
    猜你喜欢
    • 1970-01-01
    • 2016-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-28
    • 1970-01-01
    • 2021-12-01
    • 2013-07-07
    相关资源
    最近更新 更多