Javascript 未捕获类型错误:无法读取属性';空';document.getElementByID()的值。值;

Javascript 未捕获类型错误:无法读取属性';空';document.getElementByID()的值。值;,javascript,Javascript,我试图获取输入字段的值,但控制台说无法读取属性null值。我使用了document.getElementByID().value函数。当我查看源代码时,代码很好地显示了值,但是javascript变量没有得到值。以下是我的代码: 函数addCart(id、名称、价格) { var quantity=document.getElementById(“数量”+id).value;//此行出错 $.ajax({ 类型:'post', url:'addCart.php', 数据:{ 项目编号:id,

我试图获取输入字段的值,但控制台说无法读取属性null值。我使用了document.getElementByID().value函数。当我查看源代码时,代码很好地显示了值,但是javascript变量没有得到值。以下是我的代码:


函数addCart(id、名称、价格)
{
var quantity=document.getElementById(“数量”+id).value;//此行出错
$.ajax({
类型:'post',
url:'addCart.php',
数据:{
项目编号:id,
项目名称:名称,
项目数量:数量,
项目价格:价格
},
成功:功能(响应){
document.getElementById(“购物车”).innerHTML=响应;
}
});
}
未捕获类型错误:无法读取
文档.getElementById().value的属性'
null
'值

此错误意味着
document.getElementById()
返回一个
null
指针(即,它找不到它正在查找的元素,因此它返回
null
),然后您尝试查找不存在的字段的值(
document.getElementById(“数量”+id)).value
变为
null。value
,并且
null
没有名为
value
的字段

为什么? 最可能的原因(在本例中)是您在
addCart
函数中作为
id
传递的值不正确。然而,可能有一些原因。请执行以下调试步骤:

  • 确保参数的顺序与函数中定义的顺序以及调用位置相同(即,您没有传入
    name
    ,而应该传入
    id

  • 在出现错误的那一行上方添加这一行:
    console.log(“quantity”+id)
    ,然后使用浏览器控制台检查文本框是否准确地显示了该id,如果没有,那就是您的问题

  • 确保只有当文本字段出现在屏幕上时才调用
    addCart
    ——确保不删除文本字段,然后调用
    addCart
    ,并且在创建元素之前不会调用
    addCart

  • 确保没有两个名为
    addCart
    的函数


这是说getElementById返回null,因此找不到具有该id的元素。请确保它存在,和/或传递正确的id值。可能应该显示相关的html,调用addCart的代码,etc@PatrickEvans是的。。我已经更新了我的帖子。。有一个look@SamratMundehtml/php代码中没有任何地方会显示“数量”。我认为这可能是问题所在。@DivideByZero u cn检查更新后的代码。。提前ty:
var quantityString='quantity_uu'+id
quantityString=quantityString.replace('/\s/g','')
var quantity=$(quantityString.val()heyy thnx。。。我尝试了console.log(“数量”+id);它显示数量11而不是数量11。。。任何解决方案。@SamratMunde找到调用的位置
addCart
,找到它是如何生成ID变量的,然后删除那里的额外空间。当我查看源代码时,它显示ID=quantity\u 11,但在控制台上的函数中它给出quantity\u 11…在文本编辑器/IDE中查看源代码,然后找到
addCart
(执行
ctrl+
F`并搜索它)。找到调用它的位置,并查看ID是如何在那里生成的它们删除函数中的额外空间是有效的..thnxx