こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

js初心者 consoleなどについて

初心者で恐縮ですが、よろしくお願いします。
jqueryを使用してます。

$(function () {
obj = function(attr){
$.get('getFileList.php', {attribute : attr.data.value }, function(data){var array = data;});
};
delete obj;
$("#file").on('input', {value:'file'}, obj);
});
#fileに入力があったらobjが発動し$.getでphpから値を得て出力するという処理を書いています。

うまくいかないので変数arrayにちゃんと値が入っているか確認しようとしconsole.log(array)としたところjsのソースコードがconsoleにそのまま表示され、console.logを消してみてもまったく変化がなくなってしまいました。(console.log(array)したことが原因なのかは不明です。これを描いたあたりから変化がなくなっていたような気がするので。)

やってみたこととしてはキャッシュの削除と.onの呼び出しの前にオブジェクトを削除することです。

ですが、やはりその変更点もconsoleに反映されてません。 

初歩的かもしれませんがよろしくお願いします。

投稿日時 - 2017-11-13 18:12:26

QNo.9396974

暇なときに回答ください

質問者が選んだベストアンサー

まず、obj に関数定義を入れた直後に delete しているので、obj の中身が消えてしまいます。
obj の中身を消した後にイベント設定で obj を渡していますが、中身の無い変数を渡しても何も起きません。
また、on で定義するイベントの種類に input と言うモノは無いので動作しません。
なので、根本的に全く動作しないプログラムに見えます。

投稿日時 - 2017-11-13 18:29:00

お礼

すいません。それ以前にまったくバカなことしてましたorz 上の質問については解決しました。

inputについてなのですが、
https://www.tam-tam.co.jp/tipsnote/javascript/post11315.html
onのイベントにinputはないのに上のURLではinputとあり、ちゃんと動きますが、どういうことなんでしょうか?

投稿日時 - 2017-11-13 18:33:01

ANo.1

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)