我正在使用一个名为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()
答案 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"
这与您在代码中的操作完全相同。这似乎完全没问题。所以,你的代码的这一部分根本就没有错误。检查您在哪里调用这些代码。