Доступ <select>в дочернем iFrame из MasterPage (в том же домене) - PullRequest
0 голосов
/ 10 мая 2011

в моем приложении ASP.NET я использую MasterPage и iFrame для контентной части приложения (есть также боковая панель и меню из iFrame).

Моя цель - вставить jQuery/ javascript функция для перехвата, какой элемент <select> получает фокус в дочернем iFrame.

И MasterPage, и iFrame являются частью одного и того же приложения, и iFrame не открывает внешние страницы, но страницы ASPX приложения.следовательно, тот же домен.

Но в любом случае событие "focus", похоже, не работает, поскольку внутренний код не выполняется.

Вот функция:

$("#tabFrame").load(function() {
    $("#tabFrame").contents().find("SELECT").focus(function() {
        alert('focus on');
    }).change(function() {
        $.ajax({
            type: "POST",
            url: "../WebService/registerChanges",
            dataType: "json",
            contentType: "application/json; charset=utf-8",
            data: JSON.stringify({
                controlName: dropDownId
            }),
            success: function(data) {
                var result = JSON.parse(data.d);
                if (result.Success) {
                    alert("Successfully found.");
                }
            }
        })
    })
})

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

Есть предложения?(Я использую IE8 в качестве браузера)

Спасибо.

1 Ответ

0 голосов
/ 10 мая 2011

Теперь это работает:

  • Изначально проблемы были из-за IFrame, так как я пытался получить к нему доступ до его загрузки.С помощью функции $ ("# tabFrame"). Load () к ней обратились в нужное время.

  • После этого отсутствовала ссылка на JQuery (JSON) висточник проблемы :( Но, сделав шаг назад и поставив просто предупреждение вместо вызова WebService, я мог бы справиться с этим.

Приведенный выше код является рабочей версией.

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