2015-09-20 2 views
0

Я хочу показать модальное, когда имя пользователя не так, у меня есть код PHP, не полный, но есть ошибка:Как вызвать bootstrap modal в php, когда логин завершился неудачно?

  header("location:admin.php"); 
     exit(); 
    } else 

    header("location:admin_login.php?error=1"); 

}; 
if (isset($_GET['error'])==1){echo "<script type=\"text/javascript\">$('#myModal').modal('show');</script>"; 
exit();} 
?> 

И Javascript не работает.

модальный код:

<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> 
    <div class="modal-dialog" role="document"> 
    <div class="modal-content"> 
     <div class="modal-header"> 
     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button> 
     <h4 class="modal-title" id="myModalLabel">Modal title</h4> 
     </div> 
     <div class="modal-body"> 
     ... 
     </div> 
     <div class="modal-footer"> 
     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
     <button type="button" class="btn btn-primary">Save changes</button> 
     </div> 
    </div> 
    </div> 
</div> 

Я включил, но до сих пор не работает, у вас есть какие-либо идеи, почему?

ответ

0

Убедитесь, что сценарий DOM готов и удалить exit(); из PHP, даже если сценарий будет DOM готов, exit(); не позволит модальное шоу и даже после того, как эти изменения, если модальный пока не отображается, убедитесь, что проверьте библиотеку jQuery, вы можете запускать сценарий модального показа где-то посередине страницы, но библиотека jQuery может быть в нижнем колонтитуле, поэтому проверьте свой журнал консоли на наличие ошибок. Помните, что библиотека jQuery всегда на первом месте.

<?php if (isset($_GET['error'])==1){ ?> 
    <script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#myModal").modal("show"); 
    }); 
    </script> 
<?php } ?> 

See in Action

+0

Он работает после того, как я поставил яваскрипт кода в сноске. Благодаря ! –

0

Я думаю, что ваш JavaScript, вероятно, запускается до того, как документ будет готов. Попробуйте изменить свой PHP-код, чтобы включить:

if (isset($_GET['error'])==1){echo "<script type=\"text/javascript\">$(function() {$('#myModal').modal('show');});</script>"; 

Это просто помещает код, который вы написали в документе, готовом обработчике.

0

Попробуйте использовать это:

<script> 
    $(document).ready(function() { 
      $('#myModal').modal('show'); 
    }); 
</script>