前提
コードのリファクターの際におきたエラーです。
初歩的なエラーかもしれませんが、回答いただけると嬉しいです。
以下のjQueryのコードですが、関数に引数を渡そうとするとエラーが出てしまいます。
エラーメッセージ
Uncaught TypeError: Cannot read properties of undefined (reading '0')
該当のソースコード
html
1<label>ファイルを選択 2<input type="file" name="file" class="upload-1"> 3</label> 4<p class="js-upload-filename-1">ファイルを選択されていません</p> 5
JavaScript
1 2$('.upload-1').on('change',file1('.js-upload-filename-1'))//引数を渡したい 3 4 function file1(target) { 5 var file = $(this).prop('files')[0];//エラーがでてしまう 6 $(target).text(file.name); 7};
エラーがでない例
JavaScript
1 2$('.upload-1').on('change', function() { 3 var file = $(this).prop('files')[0]; 4 $('.js-upload-filename-1').text(file.name); 5}); 6
上記のエラーがでないコードをリファクターして使いまわすには関数化したいのですが、うまくいかず。。。
スコープが原因かなと思ったのですが、その辺の知識が乏しいので回答いただけると幸いです・・・!
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/11/17 11:14
2022/11/17 21:48
2022/11/28 10:02