0

我正在尝试设置一个变量并将其上传到我的数据库,具体取决于页面上显示的文本。我在 javascript 中使用了一个简单的 if...then,它表示该变量未定义。还有另一种设置变量的方法吗?

<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 回答