Galera, sou iniciante e estou com uma duvida na utilização de Ajax!
Tenho uma jsp chamada "consulta" que faz uma consulta no bd e preenche uma tabela. Nesta tabela na frente de cada registro tem um botão que deve ser utilizado para mudar o status de um campo do bd (Quero fazer esse processo de alteração de status (SIM/NÃO) com ajax.).
Desta forma criei a função javaScript, que chama outra jsp chamada ajaxConfere, essa pagina está funcionando corretamente, ela somente recebe um ID e faz o update no id selecionado. Até ai tranquilo.
Porem, quando clico no botão (evento onClick) ele não está chamando a função do Ajax. Segue abaixo o código da pagina consulta para melhor entendimento:
Função java Script:<script type="text/javascript">
function Confere(id){
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
alert(id);
xmlhttp.open("GET","ajaxConfere.jsp?id="+id+"",true);
xmlhttp.send();
}
</script>
while (rs.next()){
SimpleDateFormat sdf= new SimpleDateFormat("dd/MM/yyyy");
Date agora = rs.getDate ( "data");
NumberFormat nf = NumberFormat.getCurrencyInstance();
String valorFormatado = nf.format(rs.getDouble("saldo"));
out.println("<tr>");
out.println("<td bgcolor='#D9D9F3'><center>" + rs.getString("num_conta") + "</center></td>");
out.println("<td bgcolor='#D9D9F3'>" + rs.getString("desc_conta") + "</td>");
out.println("<td bgcolor='#D9D9F3'><center>" + rs.getString("desc_pac") + "</center></td>");
out.println("<td bgcolor='#D9D9F3'>" + rs.getString("desc_usuario") + "</td>");
out.println("<td bgcolor='#D9D9F3'>" + (valorFormatado) + "</td>");
out.println("<td bgcolor='#D9D9F3'><center>"+sdf.format(agora)+"</center></td>");
out.println("<td bgcolor='#D9D9F3'>" + rs.getString("conferido") + "</td>");
out.println("<td > <button type=button onclick=Confere("+rs.getString("id")+")> OK </button> </td>");
out.println("</tr>");
}
Na ultima linha tem o botão que chama a função, ai que está o problema! Ele não funciona dentro da tabela. Se por acaso eu tiro esse botão do loop (ai vai mostrar só um botão) e coloco fora passando um Id padrão funciona perfeitamente, no caso fica desta forma:
out.println("<td > <button type=button onclick=Confere(2)> OK </button> </td>");
Chamo a função passando um código padrão pra testar, ai funciona.
O problema é que preciso disso na tabela, cada botao tem que ter o ID do registro selecionado. Percebi que nem chama a função, pq coloquei uma alerta dentro dela e não aparece.
Alguem tem uma LUZ???
Abraços...Desde já agradeço....