Как прикрепить событие к кнопке в фрейме - PullRequest
0 голосов
/ 22 июля 2010

Прямо сейчас у меня есть диалоговое окно jQuery UI с <iframe> внутри диалога.Когда пользователь нажимает кнопку, появляется диалоговое окно с экраном редактирования формы в фрейме.

Хорошо, я хочу, чтобы на внутреннем экране редактирования формы были две кнопки: «отмена» и «ок».Отмена не сохраняет изменения и закрывает диалог, хорошо сохраняет изменения и закрывает диалог.Довольно просто ..

Так как мне прикрепить событие к кнопке отмены внутри iframe с родительской страницы?Я также предположил бы, что вам нужно каким-то образом прикрепить событие к DF-готовности iframe, иначе кнопка еще не будет существовать.

Как ты это делаешь?

Кроме того, iframe находится в том же домене, и поэтому нет проблем между доменами

Простой пример здесь в jsbin с Источник iframe

Ответы [ 3 ]

1 голос
/ 22 июля 2010

Тебе это близко?

DialogBox.html:

<body>
    <input type="submit" value="Edit" id="editbutton" />
    <div id="diag">
        <iframe src="/" ></iframe>
    </div>
    <script>
        $(document).ready(function(){
        $('#diag').dialog({
            height: 100,
            width: 100,
            autoOpen: false
        });

        $('#editbutton').click(function(){
            $('#diag iframe').attr('src','modal.html');
            $('#diag').dialog('open');
        });

        $("#diag iframe").load(function() {
            $("#diag iframe").contents().find('#cancelbutton').click(function() {
                //close dialog here
          });
        });
      });
    </script>
</body>
1 голос
/ 22 июля 2010

Хорошо, вот что я сделал для этого. Я добавил этот код на страницу iframe:

$(document).ready(
  function()
  {
    $("#cancelbutton").click(
      function()
      {
        parent.CloseDialog();
      });
  });

Затем на начальной странице я положил это:

function CloseDialog()
{
  $('#diag').dialog('close');
}

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

0 голосов
/ 22 июля 2010
onclick="parent.window.close();"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...