0

ページに表示されるテキストに応じて、変数を設定してデータベースにアップロードしようとしています。私は単純なif...thenを使用していますが、javascriptでは、変数が未定義であると表示されます。変数を設定する別の方法はありますか?

<script type="text/javascript">
oldTextAry = new Array();
function changeText (fieldObj, newTexStr) {
    if (newTexStr == fieldObj.innerHTML) {
        fieldObj.innerHTML = oldTextAry[fieldObj.id];
        var waswere = 1;
    } else {
        oldTextAry[fieldObj.id] = fieldObj.innerHTML;
        fieldObj.innerHTML = newTexStr;
        var waswere = 2;
    }
}
function displayWasWere () {
        document.write(waswere);
}
</script>

そしてHTML:

<HTML>
    <a href="#" onclick="changeText(this,'were');" id="text1link">was</a><br/>
    <a href="#" onClick="displayWasWere();" id="waswere" name="waswere">show variable</a>
</HTML>
4

2 に答える 2

2

waswereグローバル変数として作成:

var waswere;
oldTextAry = new Array();
function changeText (fieldObj, newTexStr) {
    if (newTexStr == fieldObj.innerHTML) {
        fieldObj.innerHTML = oldTextAry[fieldObj.id];
        waswere = 1;
    } else {
        oldTextAry[fieldObj.id] = fieldObj.innerHTML;
        fieldObj.innerHTML = newTexStr;
        waswere = 2;
    }
}
function displayWasWere () {
    document.write(waswere);
}
于 2012-07-02T19:20:06.100 に答える
1

変数は、最初の関数のスコープで定義されます。変数をグローバルにすると、ロールする準備が整います。

于 2012-07-02T19:20:23.003 に答える