HTML コンテンツと同じページに配置したときに適切に動作するいくつかの関数を作成しましたが、関数が非常に多くなり始めたため、それらを .js ファイルに移動することにしました。現在、初期関数を呼び出すことはできません。
IE8は、関数が存在しないと言っています。リンクが正しいことを確認し、js ファイルが読み込まれていることを確認しました。初期化のトリガー イベントを (loadFile のクラスを使用して) ボタンにリンクしたので、ロードのタイミングではないことを確認するために手動でトリガーできます。私はここで何か間違っていますか?
外部スクリプトへのリンクとドキュメントの準備は次のとおりです。
//This is how we must reference external files in our configuration,
//but this is correct, and I am certain this is not the problem.
<script src="<#=getManagedWebFileRelativePath('docAttachmentIE8.js') #>"></script>
<script type="text/javascript">
$(document).ready(function(){
$('.loadFile').click(function() {
initializeDocAttachments();
});
}); // END DOC Ready
</script>
これが私のjsファイルからの抜粋です:
function initializeDocAttachments() {
//for IE8 load this form
var docFormHTML = "<form method='POST' id='frmUploadDoc' enctype='multipart/form-data' action=''>\
<input type='file' name='data' onchange='handleFileSelect(this);' id='filesInput'> Upload a file</form>";
document.getElementById('docAttachmentControl').innerHTML = docFormHTML;
docLoadDocs();
}