2010-06-01 11 views
5

Ho un modulo all'interno di un iframe che si trova all'interno di una finestra di dialogo dell'interfaccia utente jQuery. Il modulo contiene un tipo di input di file. La finestra di dialogo dell'interfaccia utente jQuery contiene un pulsante Carica. Quando si fa clic su questo pulsante, desidero chiamare a livello di programmazione il metodo submit. La mia domanda è come posso selezionare il modulo che si trova in un iframe usando jQuery. Il seguente codice dovrebbe chiarire il quadro: codice javascriptSelezione di un modulo che si trova in un iframe utilizzando jQuery

<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> 

la finestra di dialogo jQueryUI::

$('#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'); 
     } 
    }, 
    .... 
}); 

Dal frammento di codice javascript sopra,

<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 contiene come posso selezionare il modulo con id modulo di caricamento che si trova nell'iframe il cui id è upload_file_iframe?

risposta

15

L'accesso a un elemento all'interno di un iframe è complicato. Si dovrebbe usare la seguente sintassi:

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

dove 'iframeID' è, ovviamente, un ID che hai dato al iframe.

Spero sia corretto!

+0

Sì, è corretto. Ho postato la mia risposta come hai fatto tu. Ma la tua risposta è corretta al 100%. Ho selezionato la tua risposta e ho votato la tua risposta. Grazie. –

0

In cima alla mia testa, direi che potrebbe essere necessario aggiungere la logica al file da cui proviene l'origine iframe.

+0

Forse che avrebbe funzionato, ma non avrebbe dovuto. Ho solo bisogno di sapere un selettore jQuery che seleziona un modulo (o un ID in generale) all'interno di un iframe. –

Problemi correlati