【问题标题】:Changing an HTML value using Javascript [duplicate]使用 Javascript 更改 HTML 值 [重复]
【发布时间】:2015-11-29 12:27:23
【问题描述】:

我是 javascript 新手,在更改 html 元素的值时遇到了麻烦。这是 HTML 元素:

<input type="button" id="button1" onclick="click('button1')"/>

这是我的javascript函数

function click(){
    document.getElementById("button1").value = "X";
  }

如果有任何帮助,我将不胜感激。

【问题讨论】:

  • edit您的问题并包括在控制台中看到的任何错误。
  • @Blauhirn 因为这个问题没有Minimal, Complete, and Verifiable example 和具体的问题陈述,所以不容易回答。
  • @Xufox 这不是我的问题,但谢谢。 2 否决票,因为您不能只粘贴和复制 OP 的代码示例?为什么这是必要的,更不用说“问题”无论如何都很容易被发现? (3行代码)
  • 但我明白了,缺少正确的错误语句。如果 DBL 说“什么都没有发生”就够了吗?
  • @Xufox — window.click 没有被重新声明,问题是document.getElementById("button1").click 掩盖了它。代码(按 any 顺序)执行时完全没有任何错误。只有在onclick 函数中使用console.log(click) 或在那里运行调试器时,问题的原因才会开始显现。几乎没有什么可以使问题变得更好。描述用于调试的方法可能会有所帮助,但这显然是一个初学者的问题,因此不应该期望熟悉这些技术(尤其是 here 需要的高级技术)

标签: javascript


【解决方案1】:

函数click() 存在于更窄的范围内,所以这就是这里调用的内容。 See these MDN docs.

将其重命名为其他名称,您的代码就可以工作了。

function clickButton1(val){
  console.log('val = ' + val);
  document.getElementById('button1').value = "X";
}
&lt;input type="button" id="button1" onclick="clickButton1('button1 ')" /&gt;

【讨论】:

  • click 不是保留关键字。如果是这样,那么在试图声明函数的那一行就会出现错误。它只是已经存在于更窄的范围内。请参阅重复的问题。
猜你喜欢
  • 2016-06-17
  • 2014-03-19
  • 1970-01-01
  • 1970-01-01
  • 2018-02-28
  • 1970-01-01
  • 2017-04-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多