Laravel莫代尔在刀片中的脚本中不起作用

时间:2016-11-03 01:00:47

标签: javascript laravel-5

所以我有一个奇怪的问题。我有一个表单模式,当我单击一个按钮时打开,我想要做的是当有验证错误时重新打开模态,所以我这样做。在我的刀片模板home.blade.php中。

<script type="text/javascript">
        @if (count($errors) > 0) {
            $('#myModal').modal('show');
        }


    </script>
@endsection

当我在上面的脚本中发出警报时,它工作正常,但模态不会重新打开。好的,当我尝试在我的javascript文件中打开我的模态时,它可以工作。我很困惑,会感激一些帮助。

2 个答案:

答案 0 :(得分:0)

您的刀片语法应为:

@if(count($errors) > 0)
      //your opening modal code goes here
@endif

它还取决于您加载引导程序JS文件的位置。如果在上面的代码之后加载了bootstrap文件,那么它将不会加载,因为文件尚未加载。

简单的选项是将引导程序JS文件加载到body标记的顶部。

答案 1 :(得分:0)

您使用的刀片语法不正确(请参阅https://laravel.com/docs/5.3/blade#if-statements中的参考) 就像#Amit所说,你必须确保在加载Bootstrap Js文件之后加载用于打开模态的javascript代码,可能使用$(document).ready()(参考https://learn.jquery.com/using-jquery-core/document-ready/)。

<script type="text/javascript">
    $(document).ready(function() {
        @if (count($errors) > 0)
            //show the modal
            $('#myModal').modal('show');
        @endif
    });
</script>