2014-12-26 2 views
2

У меня есть модальный, что я пытаюсь позвонить с помощью JavaScript, но я получаю эту ошибку из консоли, когда этот код бежится:Bootstrap Модального JS Uncaught TypeError: не определена не является функция

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:. $ ('# Редактировать') ... не исправить :(

ответ

1

Я думаю, вам не хватает '$'('#edit') перед тем

Это должно быть $('#edit').modal('show');

+0

Спасибо, что знак доллара по-прежнему дает ошибку, к сожалению – lels

-2

Кроме того, почему бы не использовать метод удобства $ .ajax JQuery в, $.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

Смежные вопросы