Javascript не работает после загрузки jQuery ajax на родительский документ - PullRequest
1 голос
/ 23 июня 2011

В виде сверху вниз я пытаюсь загрузить изображение (в целевом iFrame) через проверенную форму (используя jQuery-validate).После этого PHP-скрипт iFrame, который загружает изображение, перезагружает родительский документ, чтобы обновить список изображений, делая загрузку AJAX:

$('#content', window.parent.document).load(...);

После этого код javascript родительского документа между тегами не работает, поэтому провереноформы не работают, и когда я отправляю форму снова, просто возьмите меня в индекс.

Может ли кто-нибудь чем-то мне помочь?

С уважением, Испания

1 Ответ

1 голос
/ 24 июня 2011

Если ваша форма находится внутри #content, вам следует рассмотреть возможность переопределения события отправки формы, если оно не отправлено должным образом, и реализации действий, которые вы хотите выполнить в javascript. Смотри http://api.jquery.com/submit/

Для инициализации проверки на динамически загружаемых элементах попробуйте это

    var element = "#content form";
    $(element).valid();
    $(element).find("input").each(function () {
        $(this).blur(function () {
            $(this).valid();
        });
    });
    $(element).find("select").each(function () {
        $(this).change(function () {
            $(this).valid();
        });
    });

Если вы используете ненавязчивую проверку, см. http://xhalent.wordpress.com/2011/01/24/applying-unobtrusive-validation-to-dynamic-content/ и Проверка динамически добавленного элемента управления

ОБНОВЛЕНИЕ: я забыл упомянуть, что весь javascript, который вы выполняете в функции $ (document) .ready, выполняется при загрузке документа и, следовательно, не выполняется с динамически загружаемым содержимым ajax, поэтому, если вам нужно присоединить средство выбора даты и т. Д., Вы должен сделать это после загрузки контента (в функции успеха $ .ajax)

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