Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, preciso da ajuda de vocês.
Bom, acho que esse é o lugar correto, então vamos lá.
Estou criando uma página para listar fichas de inscrições e validá-las através de um botão (Validar Ficha) num formulário (formvalidar + id da ficha).
Quando vou validar uma ficha, ele funciona, agora quando clico para validar outra ficha, a página recarrega...
Estou usando javascript ajax com o jquery validate.
Código do formulário (dentro de um while):
echo "<form class=\"formvalidar\" id=\"formvalidar$listar[id]\">";
echo "<input type=\"hidden\" id=\"codigo\" name=\"codigo\" value=\"$listar[codigo]\" />"; //input hidden para pegar o código da ficha e passar pra pagina atualizar o banco de dados
echo "<input style=\"padding:8px;\" type=\"submit\" value=\"Validar Ficha\" />";
echo "</form>";
script do jquery validate:
<script type="text/javascript">
$(document).ready(function(){
var ide = $(".formvalidar").attr('id'); //Peguei o id através da class do form
$('#'+ide).validate({
submitHandler: function( form ){
var dados = $( form ).serialize();
$.ajax({
type: "POST",
url: "processavalidar.php",
data: dados,
beforeSend: function(){/...
processavalidar.php:
<?php
include "conexao.php";
$codigo = $_POST['codigo'];
$query = mysql_query("UPDATE fichas SET ativa = '1' WHERE codigo = '$codigo'") or die(mysql_error());
if($query == 1){
print 'true';
}else{
print 'false';
}
?>
Estou fazendo algo de errado?
Tem alguma outra lógica para se fazer o mesmo?
Obrigado pessoal.
troca:
var ide = $(".formvalidar").attr('id'); //Peguei o id através da class do form
$('#'+ide).validate({
por:
$(".formvalidar").validate({
desnecessário você pegar o ID.
Se a "página recarregou", então teve alguma quebra de js. Aperte Ctrl+Shift+J no Firefox.
Leia:
http://wbruno.com.br/2011/03/31/como-debugar-javascript-firefox-erros-comuns/
fiz um sisteminha de edição de hotsites onde o usuário poderia enviar fotos e videos, e para que não precisasse recarregar a página todas vez que fosse enviar uma foto fiz tudo com ajax, e depois de enviada as fotos precisava ativar-las então fiz também com ajax.
fui tentar usar ajax jQuery e estava muito complicado, então aconselho usar ajax javascript é mais fácil de fazer integrações e alterações... :thumbsup: