私は同じ名前の2つのファイルdata.phpとdata.jsを持つプロジェクトを持っています。私はlist.jsからプロジェクト内の別のファイルであるdata.jsで関数を実行しようとしています。別のJavaScriptファイルからeval()を使わずに関数を呼び出す
以下のコードは、私が試した3つの異なる試みを示しています。最初は、data.php内のconditionTemplateの関数がないというエラーをスローします。他の2つはエラーをスローするUncaught TypeError:未定義のプロパティ 'condtionTemplate'を読み取ることができません。
list.js
if (this.filter == "correct") {
window["condtionTemplate"](true);
window["data"]["condtionTemplate"](true);
window["data.js"]["condtionTemplate"](true);
}
これは私が内部data.jsに
data.js
list = new listFiler();
list.prototype.condtionTemplate = function(status) {
if (status) {
main_buttons.enabled("next", false);
} else {
main_buttons.enabled("back", true);
}
}
data.phpを取得しようとしています機能です
<body>
<script src="javascript/list.js?1" type="text/javascript"></script>
<script src="javascript/data.js?1" type="text/javascript"></script>
</body>
data.jsのどこかにロードしますか? –
'list'とは何ですか?ファイルではなくタイプ。 – Thomas
@thomasが質問を更新しました。 'listFilter'は最初のコードブロックが – Bish25