Как сделать позднюю привязку с помощью jQuery? - PullRequest
1 голос
/ 13 марта 2009

У меня есть форма, которая вводится через XHR, и мне нужно иметь возможность привязать к ней событие для отправки. Я скачал плагин jquery.form.js. Каков наилучший способ выполнить позднюю привязку, чтобы я мог сделать что-то вроде:

 $(document).ready(function() { 
        // bind 'myForm' and provide a simple callback function 
        $('#myForm').ajaxForm(function() { 
            alert("Thank you for your comment!"); 
        }); 
    }); 

К сожалению, так как форма недоступна при первом заполнении DOM, это не сработает.

** РЕДАКТИРОВАТЬ **

Я пытался связать форму, ПОСЛЕ того, как она получена через XHR, и мне не повезло Вот как это выглядит:

 $.get("foo.php", function(data) { 
    $('#my_form').ajaxForm(function() { 
         alert("Thank you for your comment!"); 
     });
});     

Ответы [ 4 ]

2 голосов
/ 13 марта 2009

jQuery 1.3 представил "Живые" события , которые будут привязаны к любому текущему и будущему элементу, определенному селектором.

Я ничего с ними не сделал, но кажется разумным, что вы сможете сделать что-то вроде:

$(document).ready(function() {
    $('form').live("ready",function() {
        alert("Something");
    });
});

Не уверен, что готовое событие действительно сработает в этом случае, но, похоже, стоит попробовать.

1 голос
/ 13 марта 2009

Я думаю, вы не делаете это правильно. Я использую формы jquery так:

$('#myform').submit(function(){
 $(this).ajaxSubmit(function(){
  alert('Thanks for your comment');
 });
 return false
});

Вы вызываете это после того, как форма введена в DOM. Другой способ сделать это - использовать привязку live из jquery

$('#myform').live('submit', function(){
 $(this).ajaxSubmit(function(){
  alert('Thanks for your comment');
 });
 return false
});

В любом случае вы должны включить этот фрагмент кода в $(document).ready()

0 голосов
/ 13 марта 2009

Привязать событие сразу после загрузки формы через XHR.

0 голосов
/ 13 марта 2009

Выполните привязку к обратному вызову XHR-запроса.

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