2010-11-09 160 views
0

下面的代碼可以完美的工作在IE瀏覽器以外的任何瀏覽器上。如果有人能幫我修復這個問題,那真是太棒了!ajax jquery json不能在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; 
}); 
}); 
+0

恰好是不工作怎麼辦? – casablanca 2010-11-09 04:16:33

+2

所以,就像它**不起作用一樣,會發生什麼?你的電腦爆炸了嗎? – Pointy 2010-11-09 04:16:55

+0

沒有任何反應..不會看到形式引發任何例外... – user501307 2010-11-09 04:43:35

回答

1

試試這個

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

讓習慣用var來聲明變量。 沒有VAR有時在IE

阿米特Battan工作

+0

好吧..我現在看到的東西現在,當我提交它顯示消息顯示在一個新的頁面。但我的編輯器並沒有接受變量的所有'var'。它抱怨缺少易變的名字......這是在新頁面上顯示而不是顯示在currentpage上的消息{「status」:「error」,「message」 :「Enter lastname」} – user501307 2010-11-09 04:46:24

+0

當我明確指定var.what時,IE引發以下異常「Expected identifier」這意味着什麼 – user501307 2010-11-09 04:59:51

+0

任何人都可以幫助解決此問題,它在IE7中也能正常工作,爲什麼IE8不能正常工作 – user501307 2010-11-10 20:54:57