プロジェクトの JavaScript を jquery に変更しています。Jquery を使用するのはこれが初めてであり、ばかげた間違いを犯していることを期待してください。以下のような単純な JQ アラート関数を .js ファイルに配置しました。
$(document).ready(function(){
$("#stt").change(function(){
alert("hi");
});
});
したがって、目的は、id="stt" を持つ td 要素の値が変更されたときに警告メッセージをスローすることです。
<tr id="stttr">
<td id="stt"> <html:text property="stt" size="20" maxlength="20" style="height:12px; width: 180px;" /></td></tr>
これは、jsp の head タグの間で jquery を参照する方法です。
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9/jquery.min.js"></script>
<script src="javascript/SearchPanelJQ.js"></script>
<script src="javascript/CalendarPopup.js"></script>
Calendarpop.js は、置き換えたくない古い JavaScript ファイルです (すべてのブラウザーで正常に動作します)。IE でスクリプトのデバッグが有効になっているブラウザでこのページにアクセスすると、次のエラーが表示されます。
HTML1201: localhost is a website you've added to Compatibility View.
ReportingTemplate.jsp
SEC7115: :visited and :link styles can only differ by color. Some styles were not applied to :visited.
ReportingTemplate.jsp
SCRIPT5007: The value of the property '$' is null or undefined, not a Function object
SearchPanelJQ.js, line 1 character 1
最後の行は、セットアップに問題があることを示しています。何を教えてもらえますか?
jsdt jquery プラグインをインストールし、JQ v1.9 を使用しています。プロジェクトはStrutsプロジェクトです。
編集:1)JQ関数がjspに含まれている場合に機能します。別の .js ファイルにある場合は機能しません。2) http: を参照に含めても、document.ready 関数が同じ JSP にある場合にのみ機能し、別の .js ファイルにある場合には機能しません。プロジェクトの複数のページで同じ検証が使用されるため、これは目的に反します。