Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按钮不存在';Internet Explorer中的t更新_Javascript_Jquery_Html_Css_Internet Explorer - Fatal编程技术网

Javascript 按钮不存在';Internet Explorer中的t更新

Javascript 按钮不存在';Internet Explorer中的t更新,javascript,jquery,html,css,internet-explorer,Javascript,Jquery,Html,Css,Internet Explorer,当它在Chrome或Safari中使用时,它工作得很好,但在InternetExplorer中它不工作。在Chrome中,当你点击按钮时,它几乎会立即改变。但当您单击IE中的按钮时,状态会更改(在数据库中),但不会显示。刷新页面(F5)时,您会看到按钮已更改 现在我在Internet Explorer中发现了另一个问题。在旧版本中,仅加载第一个按钮。然后其他按钮就不显示了。当然,它在其他浏览器中也能工作 我在页面上创建了一个div,在那里创建了按钮。然后使用以下脚本: // JavaScript

当它在Chrome或Safari中使用时,它工作得很好,但在InternetExplorer中它不工作。在Chrome中,当你点击按钮时,它几乎会立即改变。但当您单击IE中的按钮时,状态会更改(在数据库中),但不会显示。刷新页面(F5)时,您会看到按钮已更改

现在我在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);
    });
}
//JavaScript文档
功能检查状态(数据、用户){
var result=null,scriptUrl=“../templates/template/php/status.php?data=“+data+”&user=“+user;
jQuery.ajax({
url:scriptUrl,
键入:“GET”,
数据类型:“html”,
async:false,
成功:功能(数据){
结果=数据;
}
});
返回结果;
}
功能设置按钮(数据、用户){
var状态=检查状态(数据、用户);
如果(状态=='1'){
jQuery(“按钮”+数据).removeClass(“btn主”).removeClass(“btn危险”).addClass(“btn成功”).attr('value','aanwezig');
}
如果(状态=='0'){
jQuery(“#按钮”+数据).removeClass(“btn主”).removeClass(“btn成功”).addClass(“btn危险”).attr('value','afwezig');
}
}
功能更改状态(数据、用户){
var状态=检查状态(数据、用户);
如果(状态=='1'){
//阿夫梅尔登
var scriptUrl=“../../templates/template/php/afmelden.php?data=“+data+”&user=“+user;
jQuery.ajax({
url:scriptUrl,
键入:“GET”,
数据类型:“html”,
async:false,
成功:函数(){
设置按钮(数据、用户);
}
});
}
如果(状态=='0'){
//安梅尔登
var scriptUrl=“../../templates/template/php/aanmelden.php?data=“+data+”&user=“+user;
jQuery.ajax({
url:scriptUrl,
键入:“GET”,
数据类型:“html”,
async:false,
成功:函数(){
设置按钮(数据、用户);
}
});
}
}
功能显示按钮(数据、用户){
//设置按钮
jQuery(“#”+数据)。替换为(“”);
设置按钮(数据、用户);
jQuery(“#按钮”+数据)。单击(函数(){
变更状态(数据、用户);
});
}

您在IE中遇到ajax缓存问题

您可以通过执行以下操作禁用ajax缓存,因为您正在使用Jquery:

$.ajaxSetup({ cache: false });
或禁用每个请求

$.ajax({
  cache: false,
  //other options...
});
这个网站也有一些其他的选择来帮助你


IE不能很好地与jQuery、AJAX或CSS配合使用。它很可能是浏览器,而不是您的代码,因为它可以在其他浏览器中工作。不过,有一些变通方法可以让IE与jQuery一起工作。