2010-02-23 9 views
0

J'essaie d'utiliser le plugin malsup jquery formulaire et je ne peux pas obtenir l'exemple simple de travailler (http://jquery.malsup.com/form/#ajaxForm). J'ai collé mon code ci-dessous. Qu'est-ce qui ne va pas? Tout ce qui se passe est que je reçois une boîte d'alerte qui dit "Merci pour votre commentaire!". Rien d'autre ne se passe.Ajax, jquery formulaire plugin ne fonctionne pas

Merci,

Mark

Ce fichier est le ajaxtest.html:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <script type="text/javascript" src="javascript/jquery.js"></script> 
    <script type="text/javascript" src="javascript/jquery.form.js"></script> 
    <script type="text/javascript"> 
     // wait for the DOM to be loaded 
     $(document).ready(function() { 

    var options = { 
    target: '#output1', // target element(s) to be updated with server response 
    beforeSubmit: showRequest, // pre-submit callback 
    success: showResponse // post-submit callback 
    }; 

      // bind 'myForm' and provide a simple callback function 
      $('#myForm').ajaxForm(function() { 
       alert("Thank you for your comment!"); 
     }); 
     }); 
    function showRequest(formData, jqForm, options) { 
    alert("calling before sending!"); 
    return true; 
    } 
    function showResponse(responseText, statusText, xhr, $form) { 
    alert("this is the callback post response"); 
    } 
    </script> 
<script> 

</script> 
</head> 
<body> 
<form id="myForm" action="form/report.php" method="post"> 
    Name: <input type="text" name="name" /> 
    Comment: <textarea name="comment"></textarea> 
    <input type="submit" value="Submit Comment" /> 
<div id="output1"></div> 
</form> 
</body> 
</html> 

C'est le fichier PHP:


<?php 
echo '<div style="background-color:#ffa; padding:20px">' . $_POST['message'] . '</div>'; 
?> 

+0

Avez-vous vérifié la console firebug pour toute erreur js? –

Répondre

0

Vous n'utilisez nulle part la variable options, vous définissez seulement elle.

+0

Merci - c'était le problème. Je vous en suis reconnaissant! – Mark

0

Vous devez transmettre votre objet "options" dans l'appel ajaxForm, et configurer votre fonction de succès en cela (c'est-à-dire dans l'objet options). Voir cette page: http://jquery.malsup.com/form/#options-object

+0

Merci beaucoup! C'était le problème. C'est une erreur newb mais vous devez commencer à apprendre un jour. – Mark