JavaScript赋值错误:勾选复选框复制收发货字段值显示[object HTMLInputElement]
问题解决:复制表单字段值显示
[object HTMLInputElement]的原因及修复 你遇到的问题核心是直接把DOM元素对象赋值给了输入框的value属性,而非获取输入框的实际内容。
当你执行var name = document.getElementById('shippingName')时,变量name存储的是整个<input>元素对象,而非用户输入的文本。把元素对象赋值给value时,JavaScript会自动将对象转为字符串,结果就是[object HTMLInputElement]。
修正后的代码
function billingFunction(){ if (document.getElementById('same').checked){ // 访问元素的value属性,获取用户输入的实际值 var name = document.getElementById('shippingName').value; var zip = document.getElementById('shippingZip').value; document.getElementById('billingName').value = name; document.getElementById('billingZip').value = zip; } else { document.getElementById('billingName').value = ""; document.getElementById('billingZip').value = ""; } }
关键说明
- 要获取输入框的内容,必须通过
.value属性访问DOM元素的输入值; - 补充了else分支语句末尾的分号,保持代码语法规范。
内容的提问来源于stack exchange,提问作者Anubhvav B.
相关产品推荐
相关产品推荐

