Tesla Posted February 18, 2009 at 08:32 PM Report Share #245415 Posted February 18, 2009 at 08:32 PM if (a!="" && a!=null && b!="" && b!=null && d!="" && d!=null && e!="" && e!=null && f!="" && f!=null){ Http.open('POST',url); Http.onreadystatechange=mostra_info; Http.send(null); document.form1.assunto.value=""; document.form1.interloc.value=""; document.form1.empresa.value=""; document.form1.local.value=""; document.form1.data.value=""; document.form1.hora.value=""; document.form1.obs.value=""; document.form1.assunto.focus(); agen_tab_direita(); } else { document.getElementById('txtHint').innerHTML ="<font color=red>Campos obrigatórios por preencher!</font>"; setTimeout("preencher_agen();",2500); } Esta a parte do código que está a ter comportamentos estranhos. Da forma em que a vêem ela não actualizada a base de dados nem corre o que está dentro do if como deveria ser. No entanto, se colocar alert's em pontos chave, ela já se comporta como deveria (em baixo). if (a!="" && a!=null && b!="" && b!=null && d!="" && d!=null && e!="" && e!=null && f!="" && f!=null){ alert("0"); Http.open('POST',url); Http.onreadystatechange=mostra_info; Http.send(null); alert("1); document.form1.assunto.value=""; document.form1.interloc.value=""; document.form1.empresa.value=""; document.form1.local.value=""; document.form1.data.value=""; document.form1.hora.value=""; document.form1.obs.value=""; alert("2"); document.form1.assunto.focus(); alert("3"); agen_tab_direita(); } else { document.getElementById('txtHint').innerHTML ="<font color=red>Campos obrigatórios por preencher!</font>"; setTimeout("preencher_agen();",2500); } Algum de vocês me consegue explicar o porquê de isto acontecer? Abraço 😛 Assinatura editada pelo staff, por favor consulte as regras. Link to comment Share on other sites More sharing options...
softklin Posted February 18, 2009 at 09:13 PM Report Share #245422 Posted February 18, 2009 at 09:13 PM O próprio Geshi dá-te a razão do que está mal: falta-te fechar aspas no teu segundo código, linha 6 alert("1); Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
Tesla Posted February 18, 2009 at 09:19 PM Author Report Share #245425 Posted February 18, 2009 at 09:19 PM O próprio Geshi dá-te a razão do que está mal: falta-te fechar aspas no teu segundo código, linha 6 alert("1); Não é por aí. lol Eu coloquei esses alert's só para ilustrar. Não o codigo que de facto corre. O que quero dizer, o primeiro código não corre, mas o seguinte já! Ou seja... se tiver umas pausas a meio tudo corre bem, caso contrário não escreve nada na BD. Assinatura editada pelo staff, por favor consulte as regras. Link to comment Share on other sites More sharing options...
softklin Posted February 18, 2009 at 09:24 PM Report Share #245429 Posted February 18, 2009 at 09:24 PM Podes mostrar a tua função mostra_info() ? Vê se verificas o código de estado do objecto de httprequest, como o fazem aqui: http://www.w3schools.com/ajax/ajax_source.asp Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
Tesla Posted February 18, 2009 at 09:26 PM Author Report Share #245431 Posted February 18, 2009 at 09:26 PM Para não causar dúvidas, o código com os alerts: if (a!="" && a!=null && b!="" && b!=null && d!="" && d!=null && e!="" && e!=null && f!="" && f!=null){ alert("Entrei no If"); Http.open('POST',url); Http.onreadystatechange=mostra_info; Http.send(null); alert("Vou limpar os campos"); document.form1.assunto.value=""; document.form1.interloc.value=""; document.form1.empresa.value=""; document.form1.local.value=""; document.form1.data.value=""; document.form1.hora.value=""; document.form1.obs.value=""; alert("Vou seleccionar Assunto"); document.form1.assunto.focus(); alert("Vou actualizar o lado direito"); agen_tab_direita(); } else { document.getElementById('txtHint').innerHTML ="<font color=red>Campos obrigatórios por preencher!</font>"; setTimeout("preencher_agen();",2500); } Código da função mostra_info(); function mostra_info() { if (Http.readyState==4) { var response = Http.responseText; document.getElementById('txtHint').innerHTML = response; } } 😛 Assinatura editada pelo staff, por favor consulte as regras. Link to comment Share on other sites More sharing options...
softklin Posted February 18, 2009 at 09:37 PM Report Share #245434 Posted February 18, 2009 at 09:37 PM Parece tudo certo... Já experimentaste ver qual o ready state na função mostra_info(), tipo alert(Http.readystate) ? Com a versão dos ifs e com a versão normal? Sinceramente, não vejo qualquer outro problema :\ Já agora, isso acontece em qualquer browser? já viste alguma indicação da consola de erros do Firefox? Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
Tesla Posted February 18, 2009 at 09:43 PM Author Report Share #245435 Posted February 18, 2009 at 09:43 PM Vou experimentar noutro browser, porque o firefox não se queixa de nada. E se correr manualmente o insere_agen.php não há erros. Não sei o que possa ser... mas adiante... venha de lá o IE. EDIT: No IE faz a inserção dos dados na BD, mas depois não corre as acções de seleccionar o campo assunto e a tabela da direita. :\ EDIT2: Anterioremente estava a trabalhar em Windows 7 64bits, e agora estou em XP 32bits. Agora funciona! Em 64bits não! ? Alguma razão em especial? Assinatura editada pelo staff, por favor consulte as regras. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now