2011-11-26 71 views
-4

我有一個查詢腳本不適用於IE8。所有的腳本都是通過ajax發送一個表單。如果可以的話請幫忙。在sumbit頁面刷新像IE不知道它是一個Ajax形式。無法在IE8中提交ajax表單

我改變了按鈕類型從提交到按鈕,現在當你點擊按鈕什麼也沒有發生。看來這是ie8的一個衆所周知的問題。

<input class="nice-s" 
     type="submit" 
     id="send" 
     name="login_submit" 
     style="width:150px" 
     value="GET SEATED" 
     onClick="self.location=this.href; return false" /> 

我加入的onClick部分思想,可以幫助這裏的jQuery的

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#send').click(function() { 

      $('#waiting').show(500); 
      $('#lginForm').hide(0); 
      $('#message').hide(0); 

      $.ajax({ 
       type: 'POST', 
       url: 'auction_seat_hwnd.php', 
       dataType: 'json', 
       data: { 
        pid: $('#pid').val() 
       }, 
       success: function(data) { 
        $('#waiting').hide(500); 
        $('#message').removeClass().addClass((data.error === true) ? 'error' : 'success').text(data.msg).show(500); 
        if (data.error === true) $('#loginForm').show(500); 
        else $('#send').hide(500); 

       }, 
       error: function(XMLHttpRequest, textStatus, errorThrown) { 
        $('#waiting').hide(500); 
        $('#message').removeClass().addClass('error').text('There was an error.').show(500); 
        $('#loginForm').show(500); 
       } 
      }); 

      return false; 
     }); 
    }); 
</script> 

是否有一個解決方案?

回答

2

而不是建立一個提交按鈕,用jQuery佈線的事件處理程序,並與DOM 0級事件將其關閉:

<input class="nice-s" type="submit" id="send" name="login_submit" 
     style="width:150px" value="GET SEATED" onClick="self.location=this.href; return false" /> 

爲什麼不使用常規的按鈕:

<input class="nice-s" type="button" id="send" name="login_submit" 
     style="width:150px" value="GET SEATED" /> 

它永遠不會導致你的表單發佈,所以你不會需要這個可怕的onClick="self.location=this.href; return false",你設置的點擊處理程序將繼續正常工作。

+0

@AnariSengbe請發佈編輯您的問題,並列出發布的按鈕的HTML定義 –

+0

我已編輯上述問題。 –

+0

@AnariSengbe - 發佈更改後發佈按鈕的**實際html **。 –