laravelでwebアプリを作っているのですがaddEventListenerが機能しません。
ドットインストールを参考にconfirmで確認画面を出したいと思っています。
HTML
1 <td> 2<a href="#" class="del" data-id="{{ $Item->id }}"> 3 削除 4</a> 5<form method="post" action="{{url('/product/delete')}}" id="form_{{$Item->id}}"> 6{{ csrf_field() }} 7{{ method_field('delete') }} 8<p> 9 <input type="hidden" name="id" value="{{$Item->id}}"> 10</p> 11</form> 12</td>
Javascript
1(function() { 2 'use strict'; 3 4 var cmds = document.getElementsByClassName('del'); 5 var i; 6 7 for (i = 0; i < cmds.length; i++) { 8 cmds[i].addEventListener('click', function(e) { 9 e.preventDefault(); 10 if (confirm('are you sure?')) { 11 document.getElementById('form_' + this.dataset.id).submit(); 12 } 13 },false); 14 } 15 16})();
管理者権限の設定でroleが5以上のユーザーがこの機能を使えるようにしています。
その機能が悪さをしているのでしょうか?
alertは書けばちゃんと表示されるので読み込めてないわけでは無さそうです。
コンソールにもエラーメッセージはありません。
console.logには多くのエレメントがありすぎてよく分かりません。
ブラウザの設定でjavascriptは有効にしています。
他にも設定しなければならないことも有るかもしれませんが。
どうかありそうな見落としを教えてください。
よろしく御願いします。
alermというのはありません。alertですよね。またcmdsをconsole.log()した場合には正しくエレメントが取得できているのでしょうか。
質問編集画面タイトル横にある「初心者アイコン」をご活用ください。「初心者」と質問で書くよりも伝わりますし、質問一覧に表示されるのでわかりやすくなります。
プログラムコード(およびエラーメッセージ)は質問内容としては最も重要な部分であるため、見やすくしていただけると助かります。<code>ボタン押下→「コード」部分にコードを貼り付け→「ここに言語を入力」に対象言語名記入(エラーメッセージの場合は不要)の手順で「コードハイライト化」してください。(質問編集画面ではリアルタイムでプレビューが表示されるので見ながら調整してください)
返信が遅くなり申し訳ありません。質問を更新しました。助言をいただけると幸いです。
回答1件
あなたの回答
tips
プレビュー