叶片模板输入类型值

时间:2014-09-26 07:26:20

标签: html laravel blade hidden-field

在Html表单中,我可以这样做:

<input type="hidden" name="token" value="{{ $token }}">

我想用完全刀片模板这样做:

{{ Form::hidden('token', $token, array('class' => 'form-control')) }}  

但第二个选项不会传递$token值。我哪里出错?

- 更新 -

我找到了解决方法:

这是一个非常简单的问题,但在命名刀片模板中的输入时必须小心。

这是我的第一个表格,效果很好:

<form action="{{ action('RemindersController@postReset') }}" method="POST">
    <input type="hidden" name="token" value="{{ $token }}">
    Email<input type="email" name="email">
    Password<input type="password" name="password">
    Password<input type="password" name="password_confirmation">
    <input type="submit" value="Reset Password">
</form>

**在刀片模板形式中,它就像**

{{ Form::open(array('action' => 'RemindersController@postReset')) }}
   {{ Form::hidden('token', $token , array('class' => 'form-control')) }} 
   {{ Form::email('email', null, array('class'=>'form-control input-sm','placeholder'=>'Mail address')) }}
   {{ Form::password('pass', array('class'=>'form-control input-sm','placeholder'=>'New Password')) }}
   {{ Form::password('pass_conf', array('class'=>'form-control input-sm','placeholder'=>'Confirm Password')) }}
   {{ Form::submit('Submit', array('class'=>'btn btn-info btn-block')) }}
{{ Form::close() }}

- 解 -

所以错误是:

以第一种形式,

Password<input type="password" name="password">
Password<input type="password" name="password_confirmation">

第二种形式,

{{ Form::password('pass', array('class'=>'form-control
input-sm','placeholder'=>'New Password')) }} 
{{Form::password('pass_conf', array('class'=>'form-control
input-sm','placeholder'=>'Confirm Password')) }}

输入名称为密码 password_confirmation ,在第二种形式中,输入名称为传递 pass_conf

我将密码和pass_conf更改为password_confirmation,现在工作正常。

感谢您的反馈和耐心。

1 个答案:

答案 0 :(得分:1)

这只是猜测,但您可以尝试将静态值:

{{ Form::hidden('token', 'some token here', array('class' => 'form-control')) }}  

现在检查它是否在页面源中。

如果不是,则表示您可能使用withInput重定向到表单,然后即使您手动将值设置为任何HTML表单元素,Larravel也会使用与之前相同的数据填充表单。

在这种情况下,您可以使用以下方式进行重定向:

->withInput(Input::except('token'));

如果是这种情况,您可以在此主题中详细了解它:Laravel redirection using withInput doesn't allow to change inputs values

修改

您应该尝试更改:

return Redirect::back()->with('error', Lang::get($response)); 

成:

return Redirect::back()->with(array ('error', 'token'), array(Lang::get($response), Input::get('token'));