Laravel 5.4には、チェックボックスとテキストボックスを持つ小さなフォームがあります。問題は、私がフォームを投稿するときに、チェックボックスの値がリクエストから来ていないということです。チェックボックスにはカスタムスタイルがありますが、確かにそれはできません。フォームからチェックボックスの要素値が取得されない
私はこれをしばらく見てきましたが、すべて正常です。私のコードは以下の通りです:
<form method="post" action="{{ route('admin.settings.save') }}">
{{ csrf_field() }}
<div class="row">
<div class="col-md-6">
<div class="form-group">
<label><b>Site Name</b></label>
<p>This is the name of your LaravelFileManager instance.</p>
<input name="siteName" id="siteName" class="form-control" value="{{ \App\Helpers\ConfigHelper::getValue('site_name') }}" />
</div>
<div class="form-group">
<label><b>Footer Message</b></label>
<p>You can customise the footer message for the application.</p>
<div class="checkbox">
<label>
<input type="checkbox" name="showFooter" id="showFooter" checked="{{ \App\Helpers\ConfigHelper::getValue('show_footer_message') }}"> Show footer message
</label>
</div>
</div>
<button type="submit" class="btn btn-success"><i class="fa fa-save"></i> Save Changes</button>
</div>
</div>
</form>
私のコントローラコードのようなある:
public function saveSettings(Request $request) {
$siteName = $request->input('siteName');
$showFooter = $request->input('showFooter');
ConfigHelper::setValue('site_name', $siteName);
ConfigHelper::setValue('show_footer_message', $showFooter);
return redirect()->route('admin.settings')->with('result', 'Settings saved.');
}
マイルート:
Route::post('settings/save', ['uses' => 'Admin\[email protected]'])->name('admin.settings.save');
私も$リクエスト変数にvardumpを行ってもきましたチェックボックスの値がありません:
array(2) {
["_token"]=> string(40) "sgyO7Kkz1ljsYEZ1G5nkj4uVbmFZqiTMbpK9P6Bi"
["siteName"]=> string(16) "File Manager 1.0"
}
'showFooter'変数がありません。
これはどこに行けばよいかわかりません。どんな助けもありがたい。
入力タイプに値を設定してください。 – Jenssen
@Jenssen私はデフォルトの 'value =" "'をチェックボックス入力に設定しましたが、まだクラッシュします。 –
@MorganLane私が使用しているのは、コントローラ上の三項式です: 'request( 'showFooter')? true:false'をチェックするとtrueになり、チェックされていなければfalseになります。それはあなたと一緒に働きますか? – Lvkz