开发者

Jquery Form ajaxSubmit not submitting

I am using the JQuery Form extension to submit a form with AJAX. I have the following code:

var options = { 
    beforeSubmit:  showRequest,  // pre-submit callback 
    success:       showResponse,  // post-submit callback 

    // other available options: 
    //url:       url         // override for form's 'action' attribute 
    //type:      'post',       // '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 
}; 


$('#composeForm').submit(function() { 
    // inside event callbacks 'this' is the DOM element so we first 
    // wrap it in a jQuery object and then invoke ajaxSubmit
 $(this).find(':disabled').removeAttr('disable开发者_如何学God');

    $(this).ajaxSubmit(options); 

    // !!! Important !!! 
    // always return false to prevent standard browser submit and page navigation 
    return false; 
}); 

The problem is that the form doesn't appear to be submitting, or atleast the success function is not being called. If I remove the return false, then the submission works, but the page navigates away. Is there a problem in my code that could be causing this?

Cheers, Gazler.

EDIT| Seems to be working on my localhost. Could it be something to do with the domain being an add-on domain?


Here try this :

$(document).ready(function(){
      $("#composeForm").submit(function(){
                var str = $(this).serialize(); 
                var formAction = $(this).attr("action");
                $(this).find(':disabled').attr('disabled','');

$.ajax({
         type: "POST",
         url: formAction,
         data: str,
         beforeSubmit:  showRequest,
         success: showResponse
       });

  return false;

  });

 });


My guess is that when you remove the false your regular submit is happening -- it does not work at all in both cases.

I think you need to have the correct values for more of the options. There is a lot of stuff commented out there. Also, it might be better if you just use a button to do the submit and not a form submit, then you don't have to worry about trying to turn off the auto-magic stuff the browser does.


Adding own solution,

The iframe option needed to be:

iframe: true

Which solved the problem.

Thanks to everyone for their input.


There will be some fields inside form that is validated and it may be hide so please check the all fields and set its validation it will work for me its work when i saw there was a hidden fields that is hide due to jQuery hide show. Or you can remove all validation from form it will work.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜