javascript inside laravel 5

javascript inside laravel 5

本文关键字:laravel inside javascript      更新时间:2023-09-26

嗨,朋友需要帮助,请

这是我的java脚本代码。

$("#addButton").click(function () {
    var newTextBoxDiv = $(document.createElement('div')).attr("id", 'TextBoxDiv' + counter);
    newTextBoxDiv.after().html('<input type="button" style="float: right;" value="{!! trans("main.remove") !!}" class="remove-box btn btn-danger">'); 
 $("#contactcount").val(counter);   
    newTextBoxDiv.appendTo("#TextBoxesGroup");
    counter++;
     }); 

我试过这种方法。但我有错误,所以请告诉我如何解决:

$("#addButton").click(function () {
var newTextBoxDiv = $(document.createElement('div')).attr("id", 'TextBoxDiv' + counter);
newTextBoxDiv.after().html({!! @if(@$usertypes['0']['type'] == 'Admin') !!}+'<input type="button" style="float: right;" value="{!! trans("main.remove") !!}" class="remove-box btn btn-danger">
+{!! @endif !!}'); 
$("#contactcount").val(counter);   
newTextBoxDiv.appendTo("#TextBoxesGroup");
counter++;
}); 

使用PHP动态创建JavaScript是一种糟糕的做法,千万不要这样做。

其中一些原因:

  • 您正在为每个请求生成JS
  • 浏览器每次加载页面都会重新下载JS文件,所以网站变得非常慢
  • 你不能缩小这些JS文件

这太可怕了:

value="{!! trans("main.remove") !!}"

你错了。这两种情况下的语法:

 value="{!! trans("main.remove") !!}"

{!! @endif !!}

是Blade,它不是HTML。该代码需要由Laravel处理才能产生您期望的结果。这意味着代码需要在服务器上运行。JavaScript在浏览器上运行。使用JS动态添加Blade代码不会有任何作用