<script type="text/javascript"> var http = false; if(navigator.appName == "Microsoft Internet Explorer") { http = new ActiveXObject("Microsoft.XMLHTTP"); } else { http = new XMLHttpRequest(); } function espera(nome){ document.getElementById(nome).innerHTML = "<img src='./progresso.gif' width='20'>"; setTimeout(inserir_tabela(nome),4000); } function inserir_tabela(nome) { http.open("GET", "script_tabela.php?nome="+nome+"", true); http.onreadystatechange=function() { if(http.readyState == 4) { document.getElementById(nome).innerHTML = http.responseText; } } http.send(null); } </script>
Pessoal este ai de cima é meu codigo JS, a função dele é ao clicar em um 'checkbox' seja acionado a função espera, que nada mais é que uma animação gif de progresso está por sua vez aciona a função inserir_tabela que é uma requisição para uma pagina em PHP.
checkbox...
<input type="checkbox" name="tabela" value="cliente_01" onclick="espera(this.value)" >
E o retorno exibo na div
<div id="cliente_01"></div>
Script PHP. (script_tabela.php)
<?php $hash = ($_REQUEST['nome']); $buscar_insert = mysql_query("SELECT * FROM `textil_import_temp` WHERE hash='$hash' AND usuario='$user'",$dg); $cont = mysql_num_rows($buscar_insert); if($cont == 0){ //$insert = mysql_query("INSERT INTO `textil_import_temp` (hash,usuario) VALUES ('$hash','$user')",$dg); $div.="</script>"; $div.= "<div class='alert alert-info alert-dismissable'>"; $div.= "<i class='fa fa-exclamation'></i> "; $div.= "<b>Atenção ! </b> O que fazer com a tabela atual ?"; $div.= "<br>"; $div.= "<b>Substituir</b> - apaga toda a tabela atual do cliente, e substitui por essa."; $div.="<br>"; $div.="<b>Inserir</b> - apenas adiciona os itens desta tabela a tabela de destino."; $div.="<br>"; $div.= "<input type='button' onclick='qualquer(cliente_01)' class='btn btn-primary' value='Substituir'> "; //PROBLEMA $div.= "<input type='button' onclick='qualquer(cliente_01)' class='btn btn-danger' value='Inserir'> "; // PROBLEMA $div.= "$decisao"; $div.= "$hash"; $div.= "</div>"; echo $div; }else{ $delete = mysql_query("DELETE FROM `textil_import_temp` WHERE hash='$hash' AND usuario='$user'",$dg); echo ""; } ?>
Como podem ver "script_tabela.php" retorna uma div, até ai tudo bem consigo a div retorna aparece certinho, o problema e que ao clicar
nesses botões que criei eu queria que executa-se outra acão JS. que mudaria o conteudo da DIV
<div id='cliente_01'></div>. Mais não muda nem a pal, eu consigo manipular está div com
document.getElementById('cliente_01').innerHTML = "qualquer texto";
até o inicio da requisição AJAX, mais depois não mais consigo mudar seu conteudo, já to perdendo os cabelos.
E como se depois da requisição eu perde-se o controle sob a DIV, o controle passa todo para script_tabela.php, eu queria ele de volta.
. Não sei se expliquei direito mais se alguém poder me ajudar eu agradeço.