Bootstrap Modal JS Uncaught TypeError:undefined不是函数

时间:2014-12-26 05:29:42

标签: javascript jquery twitter-bootstrap bootstrap-modal

我有一个我试图使用javascript调用的模态,但是当运行该代码时,我从控制台收到此错误:

Uncaught TypeError: undefined is not a function

我看过类似的问题,但没有一个对我有用。我的标题如下所示:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.7.0/underscore-min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script>

使用AJAX点击按钮填充模态。模态的html如下所示:

<div class="modal fade" id="edit" tabindex="-1" role="dialog" aria-labelledby="edit" aria-hidden="true">
    <div class="modal-dialog">
        <div class="modal-content">
            <div id="slotedit"></div>

        </div>
    </div>
</div>

javascript看起来像这样:

function getEdit(slotID) {
    var xmlhttp = jQuery.noConflict();
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp=new XMLHttpRequest();
    }
    else {// code for IE6, IE5
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function() {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) {
            //Change table element
            document.getElementById("slotedit").innerHTML=xmlhttp.responseText;
            $('#edit').modal('show');
        }        
    }
    xmlhttp.open("POST","getEditData.php",true);
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send("slotID=" + slotID);
}

它让我感到难过,但是标题中js脚本的顺序似乎没有改变任何东西,并且使用该方法在另一个模态上调用模态也不起作用(建议AJAX没问题)。

由于

编辑:$('#edit')...无法修复:(

2 个答案:

答案 0 :(得分:1)

我猜您在'$'之前遗失('#edit')

应为$('#edit').modal('show');

答案 1 :(得分:-2)

另外,为什么不使用jQuery方便的$ .ajax方法$.post,因为你还在使用jquery?

function getEdit(id) {
  $.post('getEditData.php', { slotID: id }, function(data) {
    $('#slotedit').html(data);
    $('#edit').modal('show');
  });
}

老实说,为什么要担心IE5和IE6; IE6有less than 1% usage, globally