Самое простое решение для этого - не использовать плагин формы jQuery и делать это вручную, что на самом деле не очень сложно:
$(document).ready(function() {
jQuery('form[id*=postOnline]').live('submit', function() {
var formdata = $(this).serialize();
$.ajax({
type: $(this).attr('method'),
url: $(this).attr('action'),
dataType: 'json',
data: formdata,
success: function(data) {
$('#onlineStatus' + data.rid).html(data.formed).slideDown('slow');
bindNote();
}
});
return false;
});
});
Теперь, так как вы используете новую функциональность jQuery (1.3) live
, любые добавляемые вами формы, соответствующие селектору form[id*=postOnline]
, все равно будут связаны с этим событием.
Кроме того, вы можете открыть код форм jquery и найти, где он выполняет привязку, и попытаться изменить его так, чтобы он использовал его live
. Еще один альтернативный вариант - включить проводку в функцию и вызвать ее в конце функции успеха, например:
function bindForm() {
jQuery('form[id*=postOnline]').ajaxForm({
dataType: 'json',
success: function(data) {
$('#onlineStatus' + data.rid).html(data.formed).slideDown('slow');
bindNote();
bindForm();
}
});
}
$(document).ready(function() {
bindForm();
});
Не думаю, что это очень аккуратно, но это должно сработать.