Atualmente estou trabalhando em um formulário que inclui algumas entradas de arquivo para fazer upload de fotos. Há um onchange()evento para essas entradas que enviam as imagens para um e iframe, em seguida, carregam dinamicamente as imagens carregadas no formulário, com campos a serem modificados para elas (como nome e geolocalização ).
Como não consigo aninhar formulários, o file_inputtambém está contido em um iframe. No final, uso um iframedentro do outro iframe. Então, eu tenho algo assim:
<form>
<!-- LOTS OF FIELDS!! -->
<iframe src="file_input_url">
<!-- iframe which loads a page of a form with a file input-->
</iframe>
</form>
eo HTML carregado no iframeé algo como (excluindo o html, heade bodyetiquetas)
<form target="upload_iframe">
<input type="file" onchange="this.form.submit()">
</form>
<iframe name="upload_iframe"></iframe>
Isso funciona muito bem, exceto pelo fato de que leva alguns segundos para carregar o primeiro iframe, de modo que a entrada do arquivo não carrega com o resto da página. Isso não é visualmente ideal. Eu poderia resolver isso se pudesse especificar o iframeconteúdo sem precisar carregar outra página (especificada por file_input_urlno primeiro iframe).
Existe uma maneira de especificar o iframeconteúdo no mesmo documento, ou ele só pode ser especificado com o srcatributo, exigindo o carregamento de outra página?