繁体   English   中英

在 javascript 中明确分配变量时,未定义接收变量(未捕获的 ReferenceError)?

[英]Receiving an variable is not defined (Uncaught ReferenceError) when variable is clearly assigned in javascript?

我在运行 onblur 事件的 function 中分配的变量上收到 Uncaught ReferenceError。 说变量未定义,当它在 function 中明确定义时。

错误信息:

未捕获的引用错误:

labSectionsByGraduate is not defined
    at calculateGTALabCost (AvailableFundsCosts.aspx:218)
    at doCalculations (AvailableFundsCosts.aspx:269)
    at HTMLInputElement.onblur (AvailableFundsCosts.aspx:685)

我尝试添加alert(labSectionsByGraduate)来测试第三个变量( GTASemesterStipend )之后发生的事情,并且当我使用alert(GTALabCost)时,警报没有任何反应。 我猜这与我的if条件有关。

function calculateGTALabCost()
        {
            var labSectionsbyGraduate = parseFloat(document.getElementById("cphMain_gridPTA_iTxtAmount_0").value);
            var GTAlab = parseFloat(document.getElementById("cphMain_gridTLS_iTxtAmount_1").value);
            var GTASemesterStipend = parseFloat(document.getElementById("cphMain_gridTLS_iTxtAmount_5").value);

            if(isNaN(labSectionsbyGraduate))
            {labSectionsbyGraduate = 0.00;}
            if(isNaN(GTAlab))
            {GTAlab = 0.00;}
            if(isNaN(GTASemesterStipend))
            {GTASemesterStipend = 0.00;}

            var GTALabCost = parseFloat((labSectionsByGraduate / GTAlab) * GTASemesterStipend);

            alert(GTALabCost);

            var cell = document.getElementById("cphMain_gridPC").rows[2].cells;

            cell[1].innerHTML = GTALabCost.toLocaleString('en-US', { style: 'currency', currency: 'USD' });

        }

我希望 output 更改我的表格/网格的单元格以回答我正在尝试执行的计算。

你的行var GTALabCost = parseFloat((labSectionsByGraduate / GTAlab) * GTASemesterStipend); 使用labSectionsByGraduate但您定义labSectionsbyGraduate 只是一个驼峰式错误。 干杯!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM