【问题标题】:Using variable in form fields of laravel blade在 laravel 刀片的表单字段中使用变量
【发布时间】:2015-08-06 12:22:07
【问题描述】:

我正在尝试在 javascript 函数中使用一个变量,该变量在 button 元素中编写为 onClick 属性,但它不起作用

当用户点击button元素时我试图触发的javascript函数

updateForm(variableHere);

变量是$dealer->id

这就是我想要做的事情

@if ($dealer->user->activated==true)
    {{ sprintf(Form::button('%s', ['class' => 'edit', 'style' => 'border: none; background: none; padding: 0px;', 'onClick' => 'updateForm(%s)']),'<i class="fa fa-eye-slash"></i>', '{{{ $dealer->id }}}')  }}
@endif
{{ Form::open(['route' => ['dealers.status', $dealer->id], 'id' => 'update-status-'.$dealer->id ]) }}
{{ Form::close() }}

但是当我检查元素的源代码时得到这个

<button fa-eye-slash"="" fa="" onclick="updateForm(&lt;i class=" style="border: none; background: none; padding: 0px;" class="edit">)" type="button"&gt;<!--?php echo e($dealer--->id); ?&gt;</button>

我在这里做错了什么?

【问题讨论】:

    标签: javascript php jquery laravel blade


    【解决方案1】:

    首先,传递给sprintf 的数据是反向的。由于用于填充属性的数据位于要放入按钮元素的数据之前,因此您需要切换第二个和第三个参数。

    其次,尝试像这样传递经销商变量实际上会打印出 PHP 代码,而不是执行它,因此您需要摆脱它周围的刀片语法。

    第三,我认为更好的方法是使用HTML::decode() 方法,而不是sprintf

    @if ($dealer->user->activated==true)
        {{ HTML::decode(Form::button('<i class="fa fa-eye-slash"></i>', ['class' => 'edit', 'style' => 'border: none; background: none; padding: 0px;', 'onClick' => 'updateForm('.$dealer->id.')'])) }}
    @endif
    

    【讨论】:

      【解决方案2】:

      我刚刚找到了一个解决方案,感觉很愚蠢

      我可以像 updateForm('.$dealer-&gt;id.') 这样简单地使用它,而不是在 updateForm() 上调用 sprintf 函数

      所以我只需要把它改成这个

      @if ($dealer->user->activated==true)
          {{ sprintf(Form::button('%s', ['class' => 'edit', 'style' => 'border: none; background: none; padding: 0px;', 'onClick' => 'updateForm('.$dealer->id.')']),'<i class="fa fa-eye-slash"></i>')  }}
      @endif
          {{ Form::open(['route' => ['dealers.status', $dealer->id], 'id' => 'update-status-'.$dealer->id ]) }}
          {{ Form::close() }}
      

      【讨论】:

        猜你喜欢
        • 2018-05-30
        • 2017-06-08
        • 1970-01-01
        • 2019-02-19
        • 2015-03-13
        • 2014-12-08
        • 2017-02-24
        • 2020-01-24
        • 2021-10-15
        相关资源
        最近更新 更多