我有一个我试图使用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')...无法修复:(
答案 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