質問: onclick属性で定義した関数を、外部ファイルに書くことはできないのでしょうか?inicheckという関数を動作させるための対策をご教示ください。 ``` -HTML- 申請画面 確認 以下HTML省略 -js/entry.js- $(function() { //テキストボックスへフォーカスあてる。 $("input[type=text]").eq(1).focus(); //カレンダ表示。 $("#calendar").datepicker({minDate: "0d", maxDate: "+30d"}); //日付枠は入力できないようにする。 $("#calendar").keydown(function(event){ return false; }); // 省略 //****【これが作用しない】**** function inicheck () { alert("今夜が山田"); } }); ```
回答: inicheckという関数がグローバルスコープに定義されていないからです。 jQueryを使っているならjQueryのイベントハンドラを使用した方が 自然だと思いますが、何を理解できていないのか理解するために修正するなら ``` $(function() { //テキストボックスへフォーカスあてる。 $("input[type=text]").eq(1).focus(); // 省略 }); function inicheck () { alert("今夜が山田"); } ``` という感じで関数をjQueryのハンドラの外に定義してみてください。