前提・実現したいこと
LaravelにてToDoListを作成しています。
DBの情報を一覧表示しており、テーブルのレコード1行1行に対して「完了」ボタンをformタグにて表示するようにしているのですが、ブラウザで確認した際にレコード1行目の完了ボタンに該当するformタグのみ出力されないです。
お手数をお掛けしますが、ご指摘のほど何卒よろしくお願いいたします。
発生している問題
ブラウザに表示されたレコード1行目のhtml <div class="task__listarea--action"> <input type="hidden" name="id" value="29"> <input class="btntask__content--action btntask__content--action--finish" type="submit" name="done" value="完了"> </div> ブラウザに表示されたレコード2行目以降のhtml <div class="task__listarea--action"> <form action="task__done" method="post" class="btntask__content"> <input type="hidden" name="id" value="23"> <input class="btntask__content--action btntask__content--action--finish" type="submit" name="done" value="完了"> </form> </div>
該当のソースコード
bladeのソースコードです ※$task_dataはDBから取得した配列です。 @if(count($task_data) > 0) @foreach($task_data as $t_data) <div class="task__listarea--action"> <form action="task__done" method="post" class="btntask__content"> {{ csrf_field() }} <input type="hidden" name="id" value="{{$t_data->id}}"> <input class="btntask__content--action btntask__content--action--finish" type="submit" name="done" value="完了"> </form> </div> @endforeach @endif
試したこと
formタグをフォームファサードに変えて試しましたが、同様の事象になりうまくいきませんでした。。
補足情報(FW/ツールのバージョンなど)
Laravel Framework 5.8.18
foreachなしで1件だけ固定で表示させた場合はどうなりますか?
ありがとうございます。
1件だけ固定で表示させたら、formタグは表示されませんでした。
キャッシュクリア系のコマンドを実行してやっても変わらずです。。
またこのformをdivに変えると正しく表示されました。
formタグですが、foreachで回すと1レコード目は表示されない仕様とかですかね。。
すみません。formタグ1個だけ表示で変だったので、foreachは関係ありませんね。
念のため、1個だけform入れたパターンもコードご提示いただけますか?
多分下記のようなフォームなら普通に表示できそうですけど。
https://qiita.com/zaburo/items/5c019d9062ddf1493d16
お手数をお掛けしました。解決しました!
実はこのformタグの他にサイドバーがあって、そこにformタグがあったんですが、そのformの閉じタグの記載がなかったため、このような事象が発生していました。
こちらの確認不足でお騒がせしてしまい申し訳ありませんでした。。
おーなるほど
ブラウザデベロッパーツールの補正ですね。
その「HTML」提示いただくときはなるべく「ソースを表示」のものをご提示いただいた方が良いかもしれません。
申し訳ありませんでした。。
htmlが冗長になると、確認漏れも出てきてしまいますので、その辺り工夫して改善していきます。
いえいえ、閉じ忘れはよくあるミスなので。解決されたようで良かったです
回答1件
あなたの回答
tips
プレビュー