JavaScript и Laravel PHP

0

Я разрабатываю форму продукта, в которой пользователь имеет возможность создавать несколько полей ввода. Когда я нажимаю кнопку для создания нового ввода, JavaScript возвращает мне новое поле. Но внутри JavaScript содержит теги PHP "laravel", и по мере превращения кода шаблона в двойные кавычки и мой код не работает.

Код JavaScript:

//FUNÇÕES PARA PAGINA DE PRODUTOS
$(function(){

//CRIANDO CAMPOS DINAMICAMENTE
var scntDiv = $('#campos_roupas');
var i       = $('#campos_roupas').size() + 1;

$('#mais_roupa').live('click', function() {
    $('<label class="col-md-2 control-label">Número:<span class="required">*</span></label><div class="col-md-2">{{ Form::select("categoria_pai", Variaveis::where("categoria", "=", 1 )->lists("variavel", "id"), "", array("class" => "form-control")) }}</div><label class="col-md-1 control-label">Cor:<span class="required">*</span></label><div class="col-md-2">{{ Form::select("categoria_pai", Variaveis::where("categoria", "=", 2 )->lists("variavel", "id"), "", array("class" => "form-control")) }}</div><label class="col-md-2 control-label">Estoque:<span class="required">*</span></label><div class="col-md-2">{{ Form::text("estoque", Input::old("estoque"), array("class" => "form-control")) }}</div>').appendTo(scntDiv);
    i++;
    return false;
});
});

Может сообщить мне, как отправить его на PHP без кавычек в начале и конце?

  • 0
    Является ли код, который вы разместили, частью файла шаблона php blade Laravel или он является частью файла javascript?
  • 0
    Является частью JavaScript. Но этот код вставьте внутрь лезвия php
Показать ещё 4 комментария
Теги:
laravel-4

1 ответ

0
Лучший ответ

У вас не может быть лезвийного кода во внешнем js файле, поскольку он выполняется на стороне клиента в браузере, а код лезвия между {{... }} является php и может выполняться только на сервере. Поэтому для смешивания кода Blade и Javascript вам необходимо встроить JavaScript внутри file.blade.php:

<script type="text/javascript">

//FUNÇÕES PARA PAGINA DE PRODUTOS
$(function(){

//CRIANDO CAMPOS DINAMICAMENTE
var scntDiv = $('#campos_roupas');
var i       = $('#campos_roupas').size() + 1;

$('#mais_roupa').live('click', function() {
    $('<label class="col-md-2 control-label">Número:<span class="required">*</span></label><div class="col-md-2">{{ Form::select("categoria_pai", Variaveis::where("categoria", "=", 1 )->lists("variavel", "id"), "", array("class" => "form-control")) }}</div><label class="col-md-1 control-label">Cor:<span class="required">*</span></label><div class="col-md-2">{{ Form::select("categoria_pai", Variaveis::where("categoria", "=", 2 )->lists("variavel", "id"), "", array("class" => "form-control")) }}</div><label class="col-md-2 control-label">Estoque:<span class="required">*</span></label><div class="col-md-2">{{ Form::text("estoque", Input::old("estoque"), array("class" => "form-control")) }}</div>').appendTo(scntDiv);
    i++;
    return false;
});
});

</script>

Вы не можете включить его из внешнего файла следующим образом:

<script type="text/javascript" src="somefile.js"></script>
  • 0
    Спасибо за помощь, это сработало. Я не знал, что код должен быть на той же странице.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню