質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

モーダルダイアログ

モーダルダイアログとは、ユーザーに重要な情報を表示するときに用いられる視覚的なダイアログのことを指します。これらのダイアログは他のすべてのコンテンツの上に表示され、ユーザーの入力を受けるまでアプリケーションフローは停止されます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

Q&A

0回答

2969閲覧

Laravel:モーダルを利用して投稿内容を更新したい

purinch

総合スコア1

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

モーダルダイアログ

モーダルダイアログとは、ユーザーに重要な情報を表示するときに用いられる視覚的なダイアログのことを指します。これらのダイアログは他のすべてのコンテンツの上に表示され、ユーザーの入力を受けるまでアプリケーションフローは停止されます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

0グッド

0クリップ

投稿2021/09/08 03:20

前提・実現したいこと

Laravelで投稿機能を作っております。
削除や投稿はできたのですが。投稿の更新ができずにいます。
モーダルを利用して編集→更新をしたいです。

発生している問題・エラーメッセージ

つぶやきを編集して確定ボタンを押してもトップページに更新内容が反映されない。 ただモーダルの中に編集内容は反映されている。

該当のソースコード

Controller

1//投稿編集画面 2 public function edit($id) 3 { 4 $post = \DB::table('posts') 5 ->where('id', $request->id) 6 ->get(); 7 return view('top', compact('post')); 8 } 9 10 11 //投稿削除 12 public function delete(Request $request) 13 { 14 \DB::table('posts')->where('id', $request->id)->delete(); 15 return redirect('/top'); 16 } 17 18 19  //投稿更新 20    public function postsupdate(Request $request, Post $post) 21 { 22 $id = $request->input('id'); 23 $up_post = $request->input('upPost'); 24 $up_post->post = $request->post; 25 $up_post->fill($request->all())->save(); 26 27 $post = \DB::table('posts') 28 ->where('id', $request->id) 29 ->update( 30 ['post' => $up_post] 31 ); 32 33 return redirect('/top')->with('warning', '編集完了'); 34 }

view

1@foreach ($list as $list) 2@if ($list->user->id === Auth::user()->id) 3 <tr class="if"> 4 <td class="edit"> 5 <!--編集ボタン--> 6 <a data-toggle="modal" data-target="#testModal"><input class="edit" type="image" src="images/edit.png"></a> 7 </td> 8 <!--削除ボタン--> 9    <td class=delete> 10    <form method="post"  action="/post/delete/{id}"> 11 {{ csrf_field() }} 12 {{ method_field('delete') }} 13            <input type="hidden" name="id" value="{{$list->id}}"> 14 <a onclick="return confirm('このつぶやきを削除します。よろしいでしょうか?')"><input class="image btn-dell" type="image" src="images/trash_h.png" value="send"></a> 15 </form> 16 </td> 17 </tr> 18 @endif 19 @endforeach 20<!--読み込み--> 21 <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> 22 <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> 23 <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script> 24 25 <!-- モーダル中身--> 26 <div class="modal fade" id="testModal" tabindex="-1" role="dialog" aria-labelledby="basicModal" aria-hidden="true"> 27 <div class="modal-dialog"> 28 <div class="modal-content"> 29 <div> 30 {!! Form::open(['url' => 'top','method'=>'get','route'=>'posts.postsupdate']) !!} 31 {!! Form::hidden('id', $post->id) !!} 32   {{ csrf_field() }} 33   {{ method_field('patch') }} 34     {!! Form::textarea('post', $list->post,null,['class' => 'form-control','cols'=>'30','rows'=>'10','maxlength'=>'150']) !!}--> 35     {!! Form::input('post', 'upPost',$post->post,['required', 'class' => 'form-control']) !!} 36 <input type="image" src="images/edit.png"> 37 {!! Form::close() !!} 38 39 </div> 40 <div class="modal-footer"> 41 <button type="button" class="btn btn-default" data-dismiss="modal">閉じる</button> 42 </div> 43      </div> 44 </div> 45<!--モーダル終了--> 46

route

1Route::group(['middleware' => 'auth'], function() { 2 Route::resource('/top', 'PostsController', ['only' => ['index', 'show', 'edit', 'update']]); 3 Route::post('/top','PostsController@createForm'); 4 Route::delete('/top','PostsController@delete');

試したこと

ここに問題に対して試したことを記載してください。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/09/08 03:56 編集

確定ボタンはどこにあるのでしょう。あと、ボタン押下時にJavascriptで処理させてるのでは?
purinch

2021/09/08 05:19

こんにちは。 確定ボタンは<input type="image" src="images/edit.png">の画像になっております。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問