2016-12-12 4 views
0

Практически все функции щелчка на моем сайте не работают. В последние несколько дней он работал, но теперь этого не произойдет.Кнопка не работает

Образец будет:

index.php (внутри <head>)

<link href="/theme/css/bootstrap.min.css" rel="stylesheet" type="text/css"/> 
<link href="/theme/css/bootstrap-datetimepicker.css" rel="stylesheet" type="text/css"/> 
<link href="/theme/css/bootflat.css" rel="stylesheet" type="text/css"/> 
<link href="/theme/css/simple-sidebar.css" rel="stylesheet" type="text/css"/> 
<link href="/theme/admin/style.css" rel="stylesheet" type="text/css"/> 
<link href="/theme/css/dataurl.css" rel="stylesheet" type="text/css"/> 
<script src="/theme/js/jquery-3.1.1.min.js" type="text/javascript"></script> 
<script src="/theme/js/bootstrap.min.js" type="text/javascript"></script> 
<script src="/theme/js/site.js" type="text/javascript"></script> 
<script src="/theme/js/moment.js" type="text/javascript"></script> 
<script src="/theme/js/bootstrap-datetimepicker.min.js" type="text/javascript"></script> 
<script src="https://use.fontawesome.com/fa905179b0.js"></script> 
<script src="/theme/js/SmoothScroll.min.js" type="text/javascript"></script> 
<script src="/theme/js/pace.min.js" type="text/javascript"></script> 

кнопку

<div class="modal-footer"> 
    <button type="button" class="btn btn-danger" id="save-new">Submit</button> 
    <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> 
</div> 

после </body>

<link href="/theme/css/animate.css" rel="stylesheet" type="text/css"/> 
<script src="/theme/js/bootstrap-notify.min.js" type="text/javascript"></script> 
<script src="/theme/js/jquery.fs.selecter.min.js" type="text/javascript"></script> 
<script src="/staff/main/js/script.js" type="text/javascript"></script> 

script.js

$(document).ready(function() { 
    function viewPeriods() { 
     $.ajax({ 
      type: "POST", 
      data: { 
       type: "view" 
      }, 
      url: "/staff/main/ajax/marking-periods.php", 
      success: function(data) { 
       $("#periods").hide().html(data).fadeIn(); 
      } 
     }); 
    } 

    $("#save-new").click(function() { 
     var title = $("#title").val(); 
     var start = $("#start").val(); 
     var end = $("#end").val(); 
     var gstart = $("#gstart").val(); 
     var gend = $("#gend").val(); 
     var ptype = $("#type").val(); 

     $.ajax({ 
      type: "POST", 
      data: { 
       title: title, 
       start: start, 
       end: end, 
       gstart: gstart, 
       gend: gend, 
       ptype: ptype, 
       type: "add" 
      }, 
      url: "/staff/main/ajax/marking-periods.php", 
      dataType: "json", 
      success: function(data) { 
       $.notify({ 
        icon: data.icon, 
        title: data.title, 
        message: data.message 
       }, 
       { 
        element: 'body', 
        allow_dismiss: true, 
        newest_on_top: false, 
        type: data.status, 
        icon_type: 'class', 
        template: '<div data-notify="container" class="col-xs-11 col-sm-3 alert alert-{0}" role="alert">' + 
         '<button type="button" aria-hidden="true" class="close" data-notify="dismiss"><i class="fa fa-times"></i></button>' + 
         '<span data-notify="icon"></span> ' + 
         '<span data-notify="title">{1}</span> ' + 
         '<span data-notify="message">{2}</span>' + 
        '</div>' 
       }); 

       $("#new-period").modal("hide"); 

       viewPeriods(); 
      } 
     }); 
    }); 

    viewPeriods(); 
}); 

нет ошибок в консоли была найдена, так что я не знаю, куда я пошел неправильно. Модаль не скрывается, и ничего не происходит после нажатия кнопки. Другие страницы были такими же, раньше работали, но теперь не будут.

+0

Просто поставьте предупреждение внутри document.ready и проверьте, работает ли jquery нормально? –

+0

использовать заявления отладчика, что происходит? Поскольку вы скрываете модальный метод успеха, я предполагаю, что сервер возвращает сообщение об ошибке ... Добавьте обработчик ошибок в ваш вызов Ajax. – epascarello

+0

перейдите в свои инструменты для разработчиков и посмотрите, запускается ли ajax – madalinivascu

ответ

2

после </body>

<link href="/theme/css/animate.css" rel="stylesheet" type="text/css"/> 
<script src="/theme/js/bootstrap-notify.min.js" type="text/javascript"></script> 
<script src="/theme/js/jquery.fs.selecter.min.js" type="text/javascript"></script> 
<script src="/staff/main/js/script.js" type="text/javascript"></script> 

Вы добавили файл script.js в неправильном положении. Он должен быть добавлен перед закрытием </head> или тегом, а не после закрытия </body> тег. HTML вашей страницы должен выглядеть примерно так.

<html> 
    <head> 
    <link href="/theme/css/bootstrap.min.css" rel="stylesheet" type="text/css"/> 
    <link href="/theme/css/bootstrap-datetimepicker.css" rel="stylesheet" type="text/css"/> 
    <link href="/theme/css/bootflat.css" rel="stylesheet" type="text/css"/> 
    <link href="/theme/css/simple-sidebar.css" rel="stylesheet" type="text/css"/> 
    <link href="/theme/admin/style.css" rel="stylesheet" type="text/css"/> 
    <link href="/theme/css/dataurl.css" rel="stylesheet" type="text/css"/> 
    <script src="/theme/js/jquery-3.1.1.min.js" type="text/javascript"></script> 
    <script src="/theme/js/bootstrap.min.js" type="text/javascript"></script> 
    <script src="/theme/js/site.js" type="text/javascript"></script> 
    <script src="/theme/js/moment.js" type="text/javascript"></script> 
    <script src="/theme/js/bootstrap-datetimepicker.min.js" type="text/javascript"></script> 
    <script src="https://use.fontawesome.com/fa905179b0.js"></script> 
    <script src="/theme/js/SmoothScroll.min.js" type="text/javascript"></script> 
    <script src="/theme/js/pace.min.js" type="text/javascript"></script> 
    </head> 
    <body> 
    <div class="modal-footer"> 
     <button type="button" class="btn btn-danger" id="save-new">Submit</button> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> 
    </div> 
    <link href="/theme/css/animate.css" rel="stylesheet" type="text/css"/> 
    <script src="/theme/js/bootstrap-notify.min.js" type="text/javascript"></script> 
    <script src="/theme/js/jquery.fs.selecter.min.js" type="text/javascript"></script> 
    <script src="/staff/main/js/script.js" type="text/javascript"></script> 
    </body> 
</html> 
+0

Спасибо! Хотя это действительно работало несколько дней назад с помощью скрипта.js' после тега '', не может не спросить, как это произошло. – devgirl

2

Делегирование нажмите событие:

$('body').on('click',"#save-new",function() { 
0

Все ссылки на внешние файлы JavaScript передаются в нижней части тега тела. Например: <script src="/theme/js/bootstrap-notify.min.js" type="text/javascript"></script> <script src="/theme/js/jquery.fs.selecter.min.js" type="text/javascript"></script></body>

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