Проверка формы JQuery не работает в IE или FF

0

Моя проверка формы не работает (в 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>
Теги:
jquery-validate

2 ответа

0

Я сделал две небольшие изменения, и ваш код работает нормально.

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.

-2

попробуйте связать/загрузить ваш скрипт после полной загрузки страницы. Я думаю, что скрипт запускается, даже если элемент (форма) еще не существует.

обычно это процесс TOP-BOTTOM, поэтому вы можете это сделать:

     $(document).ready( function() {
         $('#employmentForm').validate();
     } );
     

или просто поместите свой скрипт после тега конца формы

     <form id="employmentForm">
     <!-- Your form elements -->
     </form>
     <script>
         $(function () {
             $('#employmentForm').validate ();
         });
     </script>
     
  • 1
    К вашему сведению: $(function (){ - это то же самое, что и $(document).ready(function(){ См .: api.jquery.com/ready

Ещё вопросы

Сообщество Overcoder
Наверх
Меню