【问题标题】:Why am i getting 'Unable to get property 'pAmt' of undefined or null reference'为什么我得到'无法获取未定义或空引用的属性'pAmt''
【发布时间】:2016-11-03 19:49:20
【问题描述】:

我的 Jquery 数据表填充没有问题,我正在使用:-

  • 数据表版本 1.10.12 和

  • Jquery 版本 1.11.1

  • 列表项

但在编辑和保存后,我得到“无法获取未定义或空引用的属性'pAmt'”。以下是单击保存按钮后调用的函数

function onDealPaymentChange(dealPmtId) {
            var theForm = document.getElementById("updateDealPmtForm" + dealPmtId);
            var amount = trim(theForm.pAmt.value, "both");
            var invDate = theForm.pInvDate.value;
            var recvDate = theForm.pRecDate.value;

            if (isNaN(amount) || amount == "") {
                alert("Invalid payment amount.")
            } else if (!isDate(invDate, "Invoice")) {
                //alert("Invalid invoice date");
            } else if (recvDate != "" && !isDate(recvDate, "Received")) {
                //alert("Invalid Received Date");
            } else {
                theForm.submit();
            }
    }

【问题讨论】:

  • 使用警报、console.log 或调试器来检查您是否获得了有效的对象“theForm”。

标签: javascript jquery datatables


【解决方案1】:

罪魁祸首是这行:

var amount = trim(theForm.pAmt.value, "both");

在执行此函数时,theForm 为 null 或未定义。如果您要注释掉提到的行,我希望下一个发生的错误会提到关于Unable to get property 'pInvDate' of undefined or null reference.

var amount = ...; 行上方抛出一个console.log(theForm); 语句,它应该在浏览器控制台显示theForm 未定义或为空。

【讨论】:

  • 谢谢 Isabellle !! 表格之前没有定义,...现在定义了。但是现在我得到了 var amount = trim(theForm.pAmt.value, "both" );但我无法获得 var invDate = theForm.pInvDate.value 的值;所以它说 Unable to get property 'pInvDate' of undefined or null reference。
  • 弗兰克,应该没有什么不同......因为pInvDate也在theForm上。如果 pAmt 没有未定义,pInvDate 不应未定义。
  • 我在想什么......我不知道出了什么问题。因为现在定义了 Form 对象并且除了 pInvDate 之外还定义了数量
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-01
  • 2020-04-28
  • 2016-08-16
  • 2017-05-18
  • 1970-01-01
  • 2014-08-29
相关资源
最近更新 更多