Ajax, sem refresh. E Mostrar tr extra ao clicar em tr na tabela
Já cacei de tudo que é jeito na internet e não consigo de jeito algum.
Aqui coloquei duas dúvidas.
Vamos a primeira: Ajax, sem refresh
1
Tenho 1 página que lista uma tabela e insere dados nela.
Queria q ao inserir uma linha nova, ela aparecia na lista logo após a inserção. sem precisar dar F5.
Procurei na internet e encontrei uma coisa que parece q está quase lá.
Entendo quase nada de javascript, isso me impede muito nesta área.
Este é o código.
<form id="cadUsuario" action="" method="post">
<label>UF:</label><input type="text" name="uf" id="nome" />
<label>Cliente:</label><input type="text" name="cliente"/>
<br/><br/>
<input type="button" value="Salvar" id="salvar" />
</form>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
/// Quando usuário clicar em salvar será feito todos os passo abaixo
$('#salvar').click(function() {
var dados = $('#cadUsuario').serialize();
$.ajax({
type: 'POST',
dataType: 'json',
url: 'salvar.php',
sync: true,
data: dados,
success: function(response) {
location.reload('');
}
});
return false;
});
</script>
e na página salvar.php, além de resgatar os dados dos formulários e inserir no banco de dados, tem isto
$response = array("success" => true);
echo json_encode($response);
Após eu inserir no banco, e dar F5, a linha nova aparece na lista. Está funcionando legal, só não está atualizando sozinho.
Creio q são dúvidas fáceis de resolver, então aproveito e coloco aqui a minha segunda dúvida.
2
Já tentei também com alguns códigos fazer um tipo de spoiler na tabela. mas sem sucesso.
Eu recupero uma lista do mysql com o php e gostaria de simplesmente colocar um spoiler ao clicar na tr. show com 1 clique e hide no segundo clique.
Eu consegui usar sem ser em uma tabela, com divs. só q como estou recuperando os dados do banco de dados e fazendo uma lista com bastante colunas, estou usando uma tabela.
Nem precisa postar o script, só deixar o link de um tutorial, sei lá. é q já estou esgotado.
o código da minha consulta é este:
$qr=mysqli_query($conn,"SELECT * FROM ##### ORDER by user");
while ($row=mysqli_fetch_array($qr)){
echo '
<tr>
<td>'.$row["uf"].'</td>
<td>'.$row["user"].'</td>
</tr>';
}
Está reduzido e editado.
Discussão (3)
Carregando comentários...