Webshims lib: проверка веб-формы HTML5 не работает в IE8

Я новичок в формах HTML5 и заставляю их работать в старых браузерах. Я пытаюсь получить мою простую демонстрационную форму HTML5 для проверки в IE8 с помощью полифилла Webshims Lib, но, похоже, она не проверяется. Насколько я могу судить, я следовал указаниям с веб-сайта Webshims Lib. Что я делаю неправильно? Вот мой код (ниже) и активная ссылка

<!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>

person redshift    schedule 04.01.2014    source источник


Ответы (1)


Вы должны скопировать всю папку js-webshim в свой проект. В настоящее время вы включили только polyfiller.js. Этот скрипт обрабатывает только полифиллы и включает их из папки shim.

Если вы откроете консоль разработчика, вы увидите, что у вас много запросов 404 для js/shims...js.

Некоторые примечания, если вы используете только форму, вы должны использовать webshims.polyfill('forms') или webshims.polyfill('forms forms-ext'), а не webshims.polyfill(). Если у вас все еще есть проблемы, вы должны использовать файлы из папки dev и открыть консоль.

person alexander farkas    schedule 04.01.2014
comment
Каковы зависимости ТОЛЬКО для проверки формы HTML5? Нужно ли мне передавать и загружать всю папку js-webshim только для проверки? В моей хромированной консоли 3 файла указаны как отсутствующие (shim.css, dom-extend.js, 1.js). Должен ли я просто передать эти файлы и polyfill.js, и это все, что мне нужно? Я не проверял консоль IE8. Я работаю над сайтом в интрасети с высоким уровнем безопасности, и мне сложно передавать файлы в закрытую сеть, поэтому чем меньше требуется файлов, тем лучше. Файлы должны передаваться индивидуально! Спасибо. - person redshift; 04.01.2014
comment
Краткий ответ: нет. Это действительно зависит от набора функций, который вы используете. 1.js, например, включает API медиаэлементов. Вы должны вызвать webshims.polyfill('form') чтобы получить только те файлы, которые вам нужны. Загружаемые файлы отличаются от браузера к браузеру. Если у вас есть опыт работы с grunt, вы можете создать свою собственную версию с меньшим количеством файлов. Вы не можете заархивировать/разархивировать это? - person alexander farkas; 04.01.2014
comment
Я посмотрю, смогу ли я получить эти файлы по сети (не могу передавать zip-файлы). Спасибо за ваше время. - person redshift; 05.01.2014
comment
Александр Мне удалось передать все файлы. В очередной раз благодарим за помощь. Последний вопрос, прежде чем я закрою это: нужно ли мне выполнять проверку php на стороне сервера перед обработкой формы или все, что мне нужно, это проверка HTML5 на стороне клиента? Спасибо. - person redshift; 10.01.2014
comment
@redshift Вам все еще нужно проверять все данные на стороне сервера в PHP. Однако вам не нужно делать отчеты об ошибках такими красивыми: если у вас уже есть проверки на включение JS, вы можете предположить, что ни один из ваших реальных пользователей никогда не вызовет эту проверку на стороне сервера. - person Darren Cook; 19.02.2014