首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >获取以下错误:无法读取在HTMLInputElement.onclick未定义的属性'value‘

获取以下错误:无法读取在HTMLInputElement.onclick未定义的属性'value‘
EN

Stack Overflow用户
提问于 2018-07-16 04:11:21
回答 1查看 110关注 0票数 0

尝试创建一个简单的计算器,这是我输入的代码。

代码语言:javascript
复制
<input type="button" value=" 1 " onClick="calculator.answer.value += '1'" />

问题是我得到了上面的错误。不确定可能是什么问题。下面是再次出现的错误。

代码语言:javascript
复制
Cannot read property 'value' of undefined
at HTMLInputElement.onclick
EN

回答 1

Stack Overflow用户

发布于 2018-07-16 04:21:49

如果您确实有一个具有名为answer的属性的对象,而该对象本身也是具有名为value的属性的对象(这就是您的代码的样子),那么您需要将calculator.answer.value += '1'包装在function中,并在单击时执行该函数。

代码语言:javascript
复制
const calculator = {
  answer: {
    value: 0
  }
};

function addOne() {
  calculator.answer.value += 1;
  console.log(calculator.answer.value);
}
代码语言:javascript
复制
<input type="button" value=" 1 " onClick="addOne()" />

尽管您应该将该onClick代码移到js文件中,并将其替换为addEventListener方法,这样您就不会用JavaScript弄乱您的HTML.

代码语言:javascript
复制
const calculator = {
  answer: {
    value: 0
  }
};

const btn = document.querySelector('input');
btn.addEventListener('click', addOne);

function addOne() {
  calculator.answer.value += 1;
  console.log(calculator.answer.value);
}
代码语言:javascript
复制
<input type="button" value=" 1 " />

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51351878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档