0

私はJSを持っています

function check(obj) {

for( i=0; i<obj.elements.length; i++){
    if(obj.elements[i].type=="checkbox"&&obj.elements[i].checked){
        if(confirm(onSubmitMessage)){
            return true;
        }
        else{
            return false;
        }
    }
}
alert(alertMessage);
return false;
}

次のように jsp ページから呼び出されます。

<script src="/TestAppChanged/check.js" type="text/javascript">
    var onSubmitMessage = '"<bean:message key="body.onsubmit.delete"/>"';
    var alertMessage = '"<bean:message key="body.alert.delete"/>"';
</script>
...
<form action="MyAction" method="POST"
onsubmit="return check(this)">

問題は、これらのグローバル変数が表示されないことです: onSubmitMessageおよびalertMessage. 問題は、これらが設定され、その値が通常の文字列のように変更される方法にあると思いましたが、"qwe"再び機能しませんでした。そのため、本体のスクリプトはこれらの変数を認識しません。問題は、スクリプトからそれらを取得する方法です。

4

6 に答える 6

3

タグは、次の<script>ように外部ファイルをロードするため、<script src="path/to/file.js"></script>または次のようにタグ内にJSコードを定義するために使用されます。

<script type="text/javascript">
    // Your JS code.
</script>

同じタグに両方を含めることはできません。したがって、コードを分割します。

<script src="/TestAppChanged/check.js" type="text/javascript"></script>
<script type="text/javascript">
    var onSubmitMessage = '"<bean:message key="body.onsubmit.delete"/>"';
    var alertMessage = '"<bean:message key="body.alert.delete"/>"';
</script>
于 2012-05-31T19:59:51.927 に答える
2

ブラウザがjavascriptをサポートしていない場合に解析される、<script src = ""></script>間のブロック。別の<script>ブロックが必要であり、これに変数を入れます。

于 2012-05-31T19:59:19.560 に答える
1

タグに内容を設定するか、src属性を設定できます。そのはず:

<script type="text/javascript">
    var onSubmitMessage = '"<bean:message key="body.onsubmit.delete"/>"';
    var alertMessage = '"<bean:message key="body.alert.delete"/>"';
</script>
<script src="/TestAppChanged/check.js" type="text/javascript"></script>
于 2012-05-31T19:59:34.257 に答える
1

タグ内でsrc属性とコードを混在させないでください。2つのタグを使用します。

于 2012-05-31T20:00:23.560 に答える
1

script タグでソースを宣言しているため、globar 変数は表示されません。グローバル変数を削除し、js ページで関数のコードの前に宣言してから、次のようにページを単純に含める必要があります。

<script src="/TestAppChanged/check.js" type="text/javascript"></script>
于 2012-05-31T19:58:47.717 に答える
1

2 つのスクリプト タグが必要です。1 つは変数用です。そして、その下にもう 1 つ、JavaScript ファイルにリンクします。

于 2012-05-31T19:58:53.207 に答える