开发者问题收集

变量和对象的问题

2011-04-03
121

我有 3 个 TextFields ,分别称为 txtUSDtxtEURtxtAUS 。还有一个具有相同值(减去 txt 部分)的 PopupList ,但我需要根据用户的选择来形成要使用的 TextFields 的名称。所以我这样做了:

function btConvert_Click(event)
{
    var amount = document.getElementById("txtAmount").value;
    var rates = document.getElementById("lstConvertTo").value;
    var from = "txt" + document.getElementById("lstFrom").options[document.getElementById('lstFrom').selectedIndex].text;
    var to = "txt" + document.getElementById("lstConvertTo").options[document.getElementById("lstConvertTo").selectedIndex].text;
    var curr_from = document.getElementById(from).value;
    var curr_to = document.getElementById(to).value;

    if(curr_from > curr_to)
    {
        amount * rates;
    } else {
        amount / rates;
    }
    alert(result);
}

但每次我尝试时都会收到此错误:

mobile/main.js line 215: Result of expression 'document.getElementById(from)' [null] is not an object.

我应该怎么做?

1个回答

从您收到的错误来看,生成 from 变量时似乎存在错误。

为简洁起见,您应该考虑将 document.getElementById('lstFrom') 存储到它自己的变量中。

scribu
2011-04-03