• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javascriptで、イベントが発生しない)

Javascriptでイベントが発生しない

このQ&Aのポイント
  • Javascriptのイベントが発生しない現象について質問です。
  • 特定のコードでイベントが呼び出されない理由を教えてください。
  • また、他のイベントは正常に呼び出されるのでしょうか?

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5241/13712)
回答No.1

まず onChange の値ですがダブルコーテーションが閉じられていませんが転記ミスでしょうか、それとも実際のHTMLでも閉じていないのでしょうか。 ダブルコーテーションを閉じたら、関数が呼ばれていることは確認できました。 あとは、document.zip_form.address1.value では目的の値を取得できません。 (コンソールを確認したら分かると思います) document.forms.zip_form.address1.value とすれば目的の値が取得できるでしょう。

longucumber0519
質問者

お礼

ご回答ありあがとうございます。 ご指摘どおりにしたら、うまくうごきました。 大変たすかりました。

その他の回答 (1)

  • tracer
  • ベストアンサー率41% (255/621)
回答No.2

input要素に入力キャレットがある(選択されている)状態を、「フォーカス(focus)」と言います。そして、その逆(非選択にする状態)を「フォーカスが外れる」と呼べます。 さて、onChangeは、フォーカスがある状態から、フォーカスが外れた時に発生するイベントです。同じタイミングで発生するするイベントにonBlurがありますが、それとの違いは「値が変わったかどうか」です。つまり、onChangeは、フォーカスが外れたタイミングで値が変わっていればイベントが動きます。従って、値をペーストしたタイミンではイベントは発生しません。 もし、ペーストしたタイミングでイベントを呼びたいのであれば、keyupやkeydownが妥当でしょう。ただし、ブラウザによって挙動が別れる部分があるので、十分にテストした方がよいと思います。

longucumber0519
質問者

お礼

ご回答ありがとうございます。 onChangeイベントは、発生しませんでした。おそらく、人間が入力しないとだめなようです。 結局、うまく動いたのは、hTML表示時に強制的に、onFocusイベントを発行することです。 どのブラウザでも、サーバーでも動いたので、完成です。

関連するQ&A