Моя проверка формы не работает (в IE или FF - так что я догадываюсь, что она полностью завершена) Я использую JQuery 1.7.2
Можете ли вы увидеть, что не так..?
Код
<script type="text/javascript" src="/js/jquery/jquery.js"></script>
<script type="text/javascript" src="/js/jquery/jquery.metadata.js"></script>
<script type="text/javascript" src="/js/jquery/jquery.validate.js"></script>
<script type="text/javascript" src="/js/validateutils.js"></script>
<form action="mailto:[email protected]?subject=Changes to Employment" id="employmentForm" method="post" enctype="text/plain" onsubmit="location.href='thank_you_changes_to_employment.html';">
Мои обязательные поля ввода имеют класс {validate: {required: true}}
<script type="text/javascript">
<!--
$(function ()
{
$('#employmentForm').validate ();
});
-->
</script>
Я сделал две небольшие изменения, и ваш код работает нормально.
1) Цитата OP: "Мои обязательные поля ввода имеют class
{validate:{required:true}}
". Просто используйте class="required"
в своей HTML-разметке обязательных элементов ввода.
2) Удалите встроенный обработчик onsubmit
потому что он будет мешать плагину. Вместо этого используйте submitHandler
обратного вызова submitHandler
для плагина. Этот submitHandler
будет submitHandler
только в том случае, если форма действительна.
$(function () {
$('#employmentForm').validate({
submitHandler: function(form) {
form.submit(); // <-- default form action
location.href='thank_you_changes_to_employment.html';
}
});
});
ДЕМО: http://jsfiddle.net/8Y8Tt/
Если это не решит проблему, вам нужно будет показать больше кода, включая разметку HTML.
попробуйте связать/загрузить ваш скрипт после полной загрузки страницы. Я думаю, что скрипт запускается, даже если элемент (форма) еще не существует.
обычно это процесс TOP-BOTTOM, поэтому вы можете это сделать:
$(document).ready( function() { $('#employmentForm').validate(); } );
или просто поместите свой скрипт после тега конца формы
<form id="employmentForm"> <!-- Your form elements --> </form> <script> $(function () { $('#employmentForm').validate (); }); </script>
$(function (){
- это то же самое, что и$(document).ready(function(){
См .: api.jquery.com/ready