Ao clicar no botão submeto o formulário com ID 'form_up1' dando o limite de 10 segundos de tempo. Enquanto carrega, eu exibo o texto "loading". Ao final dou um alert no resultado.
Ao terminar de escolher o arquivo (onchange) eu submeto o form atual dando o prazo de 15 segundos e exibindo o html <b>Loading</b>. Ao finalizar chamo a função de callback end_upload2() que, por sua vez, joga o que foi retornado no elemento chamado 'return_element2'. Perceba que referenciei o form via this.form, ou seja, ele não precisou ter ID.
Ao terminar de escolher o arquivo (onchange) eu submeto o form atual dando timeout infinito e exibindo a imagem load.gif enquanto carrega. Ao finalizar chamo a função end_upload3() que, por sua vez, ACRESCENTA o que foi retornado no elemento chamado 'return_element3' e exibe um alert().
Submeto o form e faço o upload do arquivo no onchange do input, porém todo o javascript foi colocado externamente e os eventos acoplados via javascript.