【问题标题】:Send enter from javascript从 javascript 发送输入
【发布时间】:2012-07-31 09:25:49
【问题描述】:

如何将输入从 javascript 发送到网站?

我真正需要的是在搜索框中将文本发送到像 filehippo.com 这样的网站,然后按 Enter 键搜索这些文本。
所以网站上的一段代码是:

<div id="searchbox">
<form name="f" action="/search">
<input style="color: #999" type="text" id="q" name="q" maxlength="150" value="Search..." onfocus="javascript:clearInputValue('q', 'Search...')" onblur="javascript:setDefaultIfEmpty('q', 'Search...')">
<input type="submit" id="search-submit" value="GO" onclick="javascript:submitQuery('q', 'Search...')">
</form></div>

我的简单代码如下所示:

javascript: document.getElementById('q').focus();document.getElementById('q').value='Winrar';document.getElementById('f').item(0).click();

而那些脚本只是将焦点放在搜索框上并向它们发送文本,但我还需要自动搜索(发送回车),该怎么做?

document.getElementById('f').item(0).click(); -> dont work

我需要的是模拟鼠标点击,通过回车,导致无法将点击发送到正常工作的元素。

是否可以发送带有文本的输入?

【问题讨论】:

  • 为什么要模拟点击。该网站是否还使用冒泡点击事件,特别是?为什么 document.getElementById('f').submit() 不好?
  • @我不知道为什么getelementbyid也没有提交,我在现场尝试过,但不能正常工作。
  • 是否有多个物品具有相同的id? ...也许
  • @ 从那段代码中我可以看出,没有
  • 啊,当然,正如@David Everlöf 注意到的那样,表单中没有 id "f"..ad id

标签: javascript html web click enter


【解决方案1】:

使用document.f.submit(); 提交表单。

问题是有多个名为'f'的表单

javascript:document.f[0].submit();

所以功能齐全的线路是:

javascript:document.getElementById('q').value='Winrar';document.f[0].submit();

【讨论】:

  • 我不确定这种访问 id 的方式是否有效,至少不是在所有浏览器中都有效。提交是一个函数,我怀疑这行不通
  • @StoiaAlex 想提交我试试
  • @StoiaAlex 您如何将这些行准确地放入 Firefox 中?我使用谷歌浏览器并放入地址框 javascript:document.getelementbyid("f").submit();而且它不搜索。
  • 对不起,我弄错了,没有“f” id,如果您将 id="f" 添加到表单元素中,它应该可以工作。但在这个决议中,我们评论的当前答案是有效的,它应该有效。
  • @DavidEverlöf 在此站点上尝试一下filehippo.com 当您在搜索框中输入内容时?
【解决方案2】:

使用输入元素的onkeypress属性。

【讨论】:

  • 这必须是脚本自动发送密钥而不与用户迭代
猜你喜欢
  • 2017-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-09
  • 2015-08-31
  • 1970-01-01
  • 2021-06-12
  • 2021-06-22
相关资源
最近更新 更多