Как использовать jquery.validete на визуализированной форме, возвращенной запросом ajax - PullRequest
0 голосов
/ 11 января 2012

У меня небольшая проблема с использованием плагина проверки jquery.

Отлично работает со статическими формами, отображаемыми при обычной загрузке страницы. Код, который я использую для проверки, выглядит примерно так

$('#form_name).validate({ (...) and other stuff

Проблема в том, что когда я использую ajax-запрос для создания всплывающей формы с тем же идентификатором, он не будет работать.

Я не смог найти правильный ответ по этому вопросу, поэтому я пришел сюда. Я предполагаю, что метод $ (). Live может быть полезен, но я не знаю, как его использовать ни при каких событиях, таких как «щелчок», «отправка» и т. Д.

Во избежание других вопросов страница, на которой загружается новая форма ajax, расположена где-то еще, кроме страницы, на которой отображается статическая форма, поэтому на одной странице нет конфликтов двух идентичных форм.

1 Ответ

0 голосов
/ 11 января 2012

Я сталкивался с этой проблемой раньше. Вновь добавленный контент ajax может потребовать повторной инициализации триггеров. Есть несколько подходов, которые вы можете использовать. Ниже приведен только один из них.

поместите триггеры привязки javasciprt внутри функции и вызовите ее после запроса ajax.

<html>
<script type="text/javascript">

 // when page has loaded do the binds 
 $(document).ready(function(){
   initBinds();
 });

 // This is your ajax request psuedo code
 function someAjaxRequest(){

    // 1) do some ajax request then 
    // 2) load the data 
    // 3) after this has been done then call initBinds() 
          function to re-init new data with bind triggers
 }

function initBinds()    {
   $('#someID').bind('click', function(){
     // blah blah
   })


   $('#someOtherID').bind('click', function(){
     // blah blah
   })

}
</spript>

</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...