Подтвердить что ты не робот

Подождите, пока iframe загрузит JavaScript.

Я открываю iframe в JavaScript:

righttop.location = "timesheet_notes.php";

а затем хотите передать ему информацию:

righttop.document.notesform.ID_client.value = Client;

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

Итак, что является лучшим/наиболее эффективным способом решения этой проблемы? Какой-то цикл тайм-аута? В идеале я бы хотел, чтобы все это содержалось в этом конкретном script, вместо того, чтобы добавлять какие-либо дополнительные материалы на открываемую страницу.

4b9b3361

Ответ 1

Прежде всего, я считаю, что вы должны влиять на свойство src iframes, а не location. Во-вторых, запустите iframe load событие, чтобы выполнить ваши изменения:

var myIframe = document.getElementById('righttop');
myIframe.addEventListener("load", function() {
  this.contentWindow.document.notesform.ID_client.value = Client;
});
myIframe.src = 'timesheet_notes.php';

Опять же, все это предполагает, что вы имеете в виду i фрейм, а не фреймы.

Ответ 3

попробуйте этот...

$('iframe').each(function() { 
    $(this).ready(function() {
        $('#result').html("ready");
    });
});