2012-05-03 4 views
1

J'ai une boîte RSVP sur mon site Web où je veux que les gens cliquent sur la coche ou croisent l'image selon qu'ils viennent ou non. J'ai actuellement un système PHP qui met à jour une base de données SQL, mais il recharge la page.Mettre à jour SQL avec JQuery et AJAX

J'ai essayé ce code:

$(document).ready(function() { 
    var options = { 
     url: 'process.php', 
     type: 'post', 
     data: 'attending', 
     success: success 
    }; 

    // bind to the form's submit event 
    $('.attending').click(function { 
     $(this).ajaxSubmit(options); 
     return false; 
    }); 

    function success(responseText, $form) { 
     $(".attending").hide(); 
     $(".success").fadeIn(); 
    } 
}); 

Les boutons RSVP sont des liens avec des tags Mais je suis strugling avec cela, toute aide serait appréciée!

Merci

+3

Vérifiez la console d'erreur pour les erreurs JS. – MrCode

+1

Il vous manque des parenthèses après la fonction '.click', il faut lire' .click (function() {' – billyonecan

+0

Quel est le problème avec le code? Si vous utilisez le code que vous avez posté, cela ne fonctionne tout simplement pas et ne pas soumettre du tout (erreurs jquery)? La page est-elle toujours rechargée (ce qui signifie que votre liaison ne fonctionne pas)? – rmmoul

Répondre

1

La fonction ajaxSubmit fait partie de la jquery forms plugin ... vous insérez ce plugin dans la page? (Vous n'avez pas tagué la question avec jquery-forms-plugin, donc je suppose que non) Si c'est votre premier coup à jQuery ajax, je vous recommande d'utiliser d'abord la méthode .ajax, même si c'est plus de lignes de code , pour comprendre ce qui se passe là-bas.

+0

je l'ai utilisé votre idée et il a parfaitement fonctionné, merci, le seul problème est que la balise img: hover ne fonctionne pas une fois que le rsvp a été cliqué. Je peux fournir un lien vers le site si vous avoir besoin. –

+0

Bien sûr, fournir le lien et je vais jeter un oeil-voir. – Faust

0

Vous avez manqué les parenthèses après avoir déclaré la fonction dans votre gestionnaire de clic, essayez ceci:

// bind to the form's submit event 
$('.attending').click(function() { 
    $(this).ajaxSubmit(options); 
    return false; 
}); 

Ou mieux encore:

// bind to the form's submit event 
$('.attending').click(function(e) { 
    e.preventDefault(); 
    $(this).ajaxSubmit(options); 
}); 
Questions connexes