/ / Indicador de progresso em um envio de formulário visando um iframe para mostrar o progresso do carregamento em um navegador diferente do IE, ou seja, não usando document.readyState - jquery, html, formulários, iframe, web

O indicador de andamento em um formulário envia uma segmentação para um iframe para mostrar o progresso da carga em um navegador diferente do IE, ou seja, não usar document.readyState - jquery, html, forms, iframe, web

Eu tenho um controle de formulários na minha página html, com um destino definido para o nome de outro iframe oculto na página.

Quando eu faço um form.submit por meio de uma pós-chamada, desejo mostrar um indicador de ocupado / progresso até receber uma resposta da solicitação de postagem no iframe.

Tentei usar document.getElementById ("iframename"). ReadyState no IE e funciona como uma delícia, mas como faço para lidar com esse cenário no Chrome / Firefox / Safari etc ...?

Meu entendimento é que o readyState não está disponível em outros navegadores para os elementos html incluindo o iframe, exceto para o IE.

Qualquer sugestão seria muito apreciada.

Obrigado.

Respostas:

1 para resposta № 1

Desde que você marcou jQuery Suponho que está tudo bem para usar.

Tive alguns resultados muito bons usando o .load() ouvinte, assim:

$("#myframe").load(function() {
// loaded iframe
});

0 para resposta № 2

Eu encontrei a resposta em

http://geekswithblogs.net/GruffCode/archive/2010/10/28/detecting-the-file-download-dialog-in-the-browser.aspx

Em vez de usar o navegador dependente do estado pronto,
1) Geramos aleatoriamente uma chave a ser enviadacom o formulário. 2) Em javascript, mostre o indicador de progresso, execute um cronômetro que verifica a correspondência do cookie e da chave, se houver correspondência, apague o cronômetro e oculte o progresso, antes de enviar. 3) Lemos a chave no servidor e acrescentamos a chave à resposta do cookie. 4) Na resposta, se o cookie corresponder, o indicador de progresso se ocultará.

Engenhoso!