2010-11-16 3 views
1

Форма представляет собой обычный запрос вместо Ajax.Ajax Form Submit

$(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) { 

    } 

} 

у меня есть подобное одно для обновления статуса, как этот

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

Вы уверены, что нет JavaScript ошибок? Вы проверили консоль ошибок? –

+0

Это происходит во всех браузерах? Это может быть из-за ошибки в ** любых ** ваших javascripts, которые вызывают сбой сценариев, не отправляя AJAX. – Trip

+0

Нет, я не получаю никаких ошибок. часть сообщения о состоянии, которая имеет аналогичный код. это не :( –

ответ

2

Вместо

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

Try

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

, это делает вызов ajax, но он переходит на другой URL-адрес, чем в форме submit. –

+0

damn. Я был тикером, нажав на кнопку вместо формы .so я не работал :(. –