2010-11-16 5 views
1

le formulaire est soumis comme demande normale au lieu de Ajax.Ajax Form Envoyer

$(document).ready(function() { 

    StatusComments(); 

}); 


function StatusComments() { 

    $('.comment').submit(function() { 
     $(this).ajaxSubmit(options); 
     return false; 
    }); 

    var options = { 
     beforeSubmit: showRequest, 
     success: showResponse, 
     resetForm: true 
    }; 

    function showRequest(formData, jqForm, options) { 
     var textbox = $('#StatusMessageReplyMessage').val(); 
     alert(textbox); 

    } 

    function showResponse(responseText, statusText, xhr, $form) { 

    } 

} 

i ont une semblable pour la mise à jour de statut comme celui-ci

function StatusUpdates() { 
    $('#updateStatus').submit(function() { 
     $(this).ajaxSubmit(options); 
     return false; // prevent a new request 
    }); 

    var options = { 
     target: '.user-status', 
     // target element(s) to be updated with server response 
     beforeSubmit: showRequest, 
     // pre-submit callback 
     success: showResponse, 
     // post-submit callback 
     // other available options: 
     //url:  url   // override for form's 'action' attribute 
     //type:  type  // 'get' or 'post', override for form's 'method' attribute 
     //dataType: null  // 'xml', 'script', or 'json' (expected server response type) 
     //clearForm: true  // clear all form fields after successful submit 
     resetForm: true // reset the form after successful submit 
     // $.ajax options can be used here too, for example: 
     //timeout: 3000 
    }; 

    function showRequest(formData, jqForm, options) { 

     var textbox = $('#StatusMessageMessage').val(); 
     if ((textbox == '') || (textbox == "What have you been eating ?")) { 
      alert('Please Enter Something and click submit.'); 
      return false; 
     } else { 
      $('#StatusMessageMessage').attr('disabled', true); 
     } 

    } 

    function showResponse(responseText, statusText, xhr, $form) { 
     $('#StatusMessageMessage').attr('disabled', false); 
     $('.share').slideUp("fast"); 
     $('#StatusMessageMessage').animate({ 
      "height": "18px" 
     }, "fast"); 
    } 

} 
+0

Etes-vous sûr qu'il n'y a pas d'erreurs JavaScript? Avez-vous vérifié votre console d'erreur? –

+0

Est-ce que cela se produit dans tous les navigateurs? C'est peut-être parce qu'il y a une erreur dans ** tout ** de vos javascripts qui fait que les scripts échouent, donc pas l'envoi d'AJAX. – Trip

+0

non je ne reçois aucune erreur. la partie du message d'état qui a un code similaire fonctionne. ce n'est pas :( –

Répondre

2

Au lieu de

$('.comment').submit(function() { 
     $(this).ajaxSubmit(options); 
     return false; 
    }); 

Essayez

$('.comment').click(function(e) { 
     e.preventDefault(); 
     $(this).ajaxSubmit(options); 
     return false; 
    }); 
+0

cela fait un appel ajax., mais il va à une adresse différente de celle du formulaire de soumission –

+0

damn. je marquais le clic sur le bouton au lieu de la forme .so je ne travaillais pas :(merci beaucoup –

Questions connexes