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