Ajax JQuery с JSON не работает на IE - PullRequest
0 голосов
/ 09 ноября 2010

Приведенный ниже код прекрасно работает на любом браузере, кроме IE. Если кто-то может помочь мне исправить это, это было бы здорово!

$(document).ready(function(){
 $('#signup-form').submit(function(){

  //check the form is not currently submitting
  if($(this).data('formstatus') !== 'submitting'){

   //setup variables
   var form = $(this),
    formData = form.serialize(),
    formUrl = form.attr('action'),
    formMethod = form.attr('method'),
    responseMsg = $('#form-response');

   //add status data to form
   form.data('formstatus','submitting');

   //show response message - waiting
   responseMsg.hide()
        .addClass('response-waiting')
        .text('Please Wait...')
        .fadeIn(200);

   //send data to server for validation
   $.ajax({
    url: formUrl,
    type: formMethod,
    data: formData,
    success:function(data){

     //setup variables
     var responseData = jQuery.parseJSON(data),
      klass = '';

     //response conditional
     switch(responseData.status){
      case 'error':
       klass = 'response-error';
      break;
      case 'success':
       klass = 'response-success';
      break;
     }

     //show reponse message
     responseMsg.fadeOut(200,function(){
      $(this).removeClass('response-waiting')
          .addClass(klass)
          .text(responseData.message)
          .fadeIn(200,function(){
           //set timeout to hide response message
           setTimeout(function(){
            responseMsg.fadeOut(200,function(){
                $(this).removeClass(klass);
             form.data('formstatus','idle');
            });
           },3000)
        });
     });
    }
   });
  }

  //prevent form from submitting
  return false;
 });
});

1 Ответ

1 голос
/ 09 ноября 2010

Попробуйте это

var form = $(this),
var formData = form.serialize(),
var formUrl = form.attr('action'),
var formMethod = form.attr('method'),
var responseMsg = $('#form-response');

Привыкнуть использовать var для объявления переменной.без вар иногда он работает в IE

Amit Battan

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...