javascript внутри laravel 5

Привет друг нужна помощь pls

Это мой код сценария 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++;
}); 

2 ответа

  1. Создание JavaScript на лету с PHP является ужасной практикой, никогда не делайте этого.

    Некоторые из причин:

    • вы генерируете JS для каждого запроса
    • браузер повторно загружает файлы JS снова с каждой загруженной страницей, поэтому веб-сайт становится очень медленным
    • вы не можете уменьшить эти файлы JS

    Это ужасно:

    value="{!! trans("main.remove") !!}"
    
  2. Вы все неправильно поняли. Синтаксис в этих двух случаях:

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

    и

    {!! @endif !!}
    

    это Blade, это не HTML. Этот код должен быть обработан Laravel для получения ожидаемых результатов. Это означает, что код должен выполняться на сервере. JavaScript запускается в браузере. Добавление Блейд-кода на лету с JS ничего не сделает