可以使用javascript为input元素赋值

时间:2017-07-16 17:52:47

标签: javascript

我正在使用一个名为Mendix的平台。我构建了一个简单的应用程序,它从输入字段中获取字符串并显示与之相关的维基百科摘要。 如果我手动输入或粘贴在输入字段中,则会考虑输入字段中的值。但是当我使用inputElement.value =“some value”设置值时,app会考虑一个空字符串。有趣的是,如果我在字段中使用javascript设置值后按一个键,则应用程序会考虑字符串值。这里发生了什么。我试图手动触发“keydown”事件,但没有成功。我该怎么做呢试过这段代码。

document.getElementsByClassName("form-control")[0].focus()
document.getElementsByClassName("form-control")[0].value = "This value must be read by the app"
var e = new Event("keydown");
  e.key="a";
  e.keyCode=e.key.charCodeAt(0);
  e.which=e.keyCode;
  e.altKey=false;
  e.ctrlKey=true;
  e.shiftKey=false;
  e.metaKey=false;
  e.bubbles=false;
  document.getElementsByClassName("form-control")[0].dispatchEvent(e);
  document.getElementsByClassName('callToAction')[0].click()

1 个答案:

答案 0 :(得分:0)

查看这个小提琴 - https://jsfiddle.net/exaL47u3/

我把html视为

<input type="text" class="a"/>
<input type="text" class="a"/>
<input type="text" class="a"/>

js与你的相似

document.getElementsByClassName("a")[0].focus()
document.getElementsByClassName("a")[0].value = "Test value"

这与您在代码中的操作完全相同。这似乎完全没问题。所以,你的代码的这一部分根本就没有错误。检查您在哪里调用这些代码。