2014-10-31 74 views
0

在Chrome或Safari中使用它时可以正常工作,但在Internet Explorer中不起作用。在Chrome中,点击按钮几乎可以立即改变按钮。但是当你点击IE中的按钮时,状态会改变(在数据库中),但不会显示。刷新页面(F5)时,您会看到该按钮已更改。按钮不会在Internet Explorer中更新

现在我在Internet Explorer中发现了另一个问题。在旧版本中只加载第一个按钮。然后其他按钮不显示。当然,它在其他浏览器中也可以工作。

我在创建按钮的页面上创建了一个div。然后使用以下脚本:

// JavaScript Document 
function checkStatus(data, user) { 
    var result = null, scriptUrl = "../../templates/template/php/status.php?data="+data+"&user="+user; 
    jQuery.ajax({ 
     url: scriptUrl, 
     type: 'GET', 
     dataType: 'html', 
     async: false, 
     success: function(data) { 
      result = data; 
     } 
    }); 
    return result; 
} 

function setButton(data, user) { 
    var status = checkStatus(data, user); 
    if (status==='1') { 
     jQuery("#button" + data).removeClass("btn-primary").removeClass("btn-danger").addClass("btn-success").attr('value', 'aanwezig'); 
    } 
    if (status==='0') { 
     jQuery("#button" + data).removeClass("btn-primary").removeClass("btn-success").addClass("btn-danger").attr('value', 'afwezig'); 
    } 
} 

function changeStatus(data, user) { 
    var status = checkStatus(data, user); 
    if (status==='1') { 
     //afmelden 
     var scriptUrl = "../../templates/template/php/afmelden.php?data=" + data +"&user="+user; 
     jQuery.ajax({ 
      url: scriptUrl, 
      type: 'GET', 
      dataType: 'html', 
      async: false, 
      success: function() { 
       setButton(data, user); 
      } 
     }); 
    } 
    if (status==='0') { 
     //aanmelden 
     var scriptUrl = "../../templates/template/php/aanmelden.php?data=" + data + "&user="+user; 
     jQuery.ajax({ 
      url: scriptUrl, 
      type: 'GET', 
      dataType: 'html', 
      async: false, 
      success: function() { 
       setButton(data, user); 
      } 
     }); 
    } 
} 

function showButton(data, user) { 
    //set a button 
    jQuery("#" + data).replaceWith("<input type='submit' value='none' class='btn btn-primary' id='button" + data + "' />"); 
    setButton(data, user); 
    jQuery("#button" + data).click(function() { 
     changeStatus(data, user); 
    }); 
} 
+0

IE与jQuery,AJAX或CSS不兼容。这很可能是浏览器,而不是你的代码,因为它在其他浏览器中工作。尽管如此,仍有一些解决方法可以使IE能够使用jQuery。 – 2014-10-31 12:51:11

回答

相关问题