2010-06-01 3 views
5

У меня есть форма внутри iframe, которая находится внутри диалогового окна jQuery UI. Форма содержит тип ввода файла. Диалоговое окно JQuery UI содержит кнопку «Загрузить». Когда эта кнопка нажата, я хотел бы программным способом вызвать метод отправки. Мой вопрос в том, как я могу выбрать форму, которая находится в iframe с помощью jQuery. Следующий код должен прояснить картину:Выбор формы, которая находится в iframe с использованием jQuery

<div id="upload_file_picker_dlg" title="Upload file">   
    <iframe id="upload_file_iframe" src="/frame_src_url" frameborder=0 width=100% scrolling=no></iframe> 
</div> 

frame_src_url содержит:

<form action="/UploadTaxTable" enctype="multipart/form-data" method="post" id="upload-form">    
<p>Select a file to be uploaded:</p> 
<p> 
    <input type="file" name="datafile" size="60"> 
</p> 

диалоговое окно jQueryUI Javascript код:

$('#upload_file_picker_dlg').dialog({ 
    ... 
    buttons: { 
     'Close': function() { 
      $(this).dialog('close'); 
     }, 
     'Upload': function() {    
      $('#upload-form').submit(); //question is related to this line 
      $(this).dialog('close'); 
     } 
    }, 
    .... 
}); 

Из яваскрипта фрагмента кода выше, как я могу выбрать форму с идентификатором upload-form, который находится в iframe с идентификатором upload_file_iframe?

ответ

15

Доступ к элементу внутри iframe является сложным. следует использовать следующий синтаксис:

$('#iframeID').contents().find('#upload-form').submit(); 

где «iframeID», очевидно, ID вы дали в IFRAME.

Надеюсь, это правильно!

+0

Да, это правильно. Я отправил свой ответ в то же самое, что и вы. Но ваш ответ на 100% правильный. Я выбрал ваш ответ и проголосовал за ваш ответ. Благодарю. –

0

Сверху моей головы Я бы сказал, что вам, возможно, придется добавить логику в файл, откуда исходит источник iframe.

+0

Возможно, что будет работать, но я не должен. Мне просто нужно знать селектор jQuery, который выбирает форму (или идентификатор вообще), которая находится внутри iframe. –

Смежные вопросы