### リストの指定した行のデータを削除する
node.jsで買い物リストのwebアプリを作っています。
各データごとに削除ボタンを追加し、削除ボタンを押したら「〇〇を削除いたしますか?」というモーダルが浮かび上がり、再度削除ボタンを押せばデータが削除できるように設定いたしました。
しかし、2番目、3番目を削除しようとしても1番上のデータが削除されてしまいます。
調べてみてもどうにも糸口を見つけることが出来ず、皆様のお力をお借りできればと思います。
図解
1、トマト 削除 2、にんじん 削除 3、ゴボウ 削除
上記のように設定されているのですが、にんじん、ゴボウの横の削除ボタンを押してもトマトが削除されてしまいます。
該当のソースコード
削除ボタンのコードです。
HTML
1<input type="submit" value="削除" class="delete-show">
削除確認画面のコードです。恐らくここに問題があります。
HTML
1<div id="delete-form"> 2 <h2>"<%=item.name%>"を削除しますか?</h2> 3 <form action="/delete/<%=item.id%>" method="post"> 4 <input type="submit" id="submit-btn" value='削除する'> 5 </form> 6</div>
node.jsのコードです。ご参考までに。
node
1app.get('/delete/:id', (req, res) => { 2 connection.query( 3 'select * from items where id=?', 4 [req.params.id], 5 (error, results) => { 6 res.render('delete.ejs', {item: results[0]}); 7 } 8 ); 9}); 10 11app.post('/delete/:id', (req, res) => { 12 connection.query( 13 'delete from items where id = ?', 14 [req.params.id], 15 (error, results) => { 16 res.redirect('/index'); 17 } 18 ); 19}); 20
モーダルの設定です。
jquery
1$('.delete-show').click(function(){ 2 $('#delete-modal').fadeIn(); 3 });
試したこと
モーダル(削除確認画面)抜きでは実現できたのですが、一旦確認画面を挟むと上手くいきませんでした...。恐らく確認画面内の「削除」ボタンのコードに問題があると思います。
回答1件
あなたの回答
tips
プレビュー