Laravel:textarea在使用Input :: old时不会重新填充

Sov*_*CCP 9 laravel

我正在经历只有输入文本字段在我编写代码以重新填充表单时(例如,当发现错误时)或在表格行中单击"编辑"按钮并且转到可编辑表单时,按预期响应.textarea的字段没有重新填充,所以它是空的,因此,如果我保存它,我会删除textarea的内容.(我知道我最近问了一系列问题,原因是我已基本完成了我的应用程序,并且我最终留下了我无法解决的小问题,所以我为此道歉).

这是我所说的一个例子:

这是输入文本字段的工作原理:

作品

<div class="col-md-4">
<label for="relato">Charges</label>
<input type="text" name="expenses" maxlength ="30" class="form-control" 
value = "{{ $user->expenses }}"/>
</div>
Run Code Online (Sandbox Code Playgroud)

也就是说,$ user-> expenses填充单击表行的"编辑"按钮时出现的表单的文本字段.

但是,这对textarea字段不起作用:

<div class="row">

              <label for="relato">Description</label>
              <textarea name ="message" id="message" rows="5" cols="100" value = "{{ $user->message }} class="form-control" 
      </textarea>
              </div>
Run Code Online (Sandbox Code Playgroud)

看到?那部分$ user-> message不会将内容传递给表单的textarea.

同样:使用Input :: old

适用于输入文本字段

作品

 Email: <input type="text" class="form-control" name="email" {{ (Input::old('email')) ?' value ="' . e(Input::old('email')). '"' : ''  }}>
Run Code Online (Sandbox Code Playgroud)

不适用于TEXTAREA

<div class="form-group">
  <label for="relato">Une petite description</label>
  <textarea id="message" name = "content" rows="10" cols="50" onKeyPress class="form-control"  {{ (Input::old('content')) ?' value ="' . e(Input::old('content')). '"' : ''  }}
  ">
  </textarea>{{ $errors->first('content')}}
        </div>
Run Code Online (Sandbox Code Playgroud)

控制器也试图通过发送 - > withInput来重新填充表单

 if($validator->fails()){

           return Redirect::route('usersgetformtopostads')

                        ->withErrors($validator)

                        ->withInput();                           

                        } 
Run Code Online (Sandbox Code Playgroud)

但是,正如我所说,它只适用于文本字段.不会重新填充选择列表或textrarea

顺便说一句,我在这里看了一个相关的问题,作者说他无法重新填充文件字段,并且他被告知"你不能"并且他给出了正确的答案,但是,我已经能够重新填充上传的文件,没有任何问题.

Mar*_*lln 38

textarea没有value属性.值textarea应该在里面<textarea></textarea>,所以在你的情况下:

<textarea id="message" name = "content" rows="10" cols="50" onKeyPress class="form-control">
{{{ Input::old('content') }}}
</textarea>
Run Code Online (Sandbox Code Playgroud)


小智 8

刚弄清楚,将旧值放在方括号中,如下所示

<textarea name="message">{{ old('message') }}</textarea>
Run Code Online (Sandbox Code Playgroud)