我正在尝试使用javascript自动填充搜索字段。网站在输入时实时动态显示输入结果。
document.getElementsByClassName("input1")[0].value = "Number";
<label class="label1">
<input type="search" data-testid="text-input" class="input1">
<span class="label">city, street or name</span>
</label>
运行代码时,所需的值也会显示在搜索字段中,但搜索不会执行。当手动单击字段,删除字符并再次手动输入时,将执行搜索。我已经尝试了不同的方法来模拟键盘输入,但到目前为止都不起作用。
看起来有一个侦听器在触发input
事件时被调用。您可以检查调用所需函数的事件,并以编程方式从input
元素中发出该事件。
我认为您正在HTML中寻找占位符属性,如果您通过JS更新值,它将更新值,并且您的侦听器将运行相应的函数
<input type="search" data-testid="text-input" class="input1" placeholder="Enter something">
如果您只是想通过JS进行更新,您也可以尝试更改占位符属性,如下所示:
document.getElementById('searchId').placeholder='new placeholder';
<input type="search" data-testid="text-input" id="searchId" class="input1" placeholder="Enter something">