如何通过单击“表单”按钮来聚焦表单输入区域?

时间:2019-05-11 21:54:12

标签: javascript forms button input focus

因此,我在网站的nav菜单中有一个搜索表单,我想单击一次搜索按钮,即可重定向到搜索输入,而不是“存档/搜索”部分网站的内容。

我这样写:

function l() {
  document
    .getElementsByClassName("search-button")[0]
    .addEventListener("click", function(e) {
      var t = document.getElementsByClassName("search-input")[0];
      t.value.length < 2 && (e.preventDefault(), t.setFocus());
    });
}
l();
<form role="search" class="search-form" method="get" action=# placeholder="Searching for …" onfocus="this.placeholder = ''" onblur="this.placeholder = 'Searching for …'">
  <input class="search-input" name="s" type="text" placeholder="Searching for ..." onfocus="this.placeholder=''" onblur="this.placeholder='Searching for ...'">
  <button type="submit" class="search-button" title="Search Blogs">
	</button>
</form>

但是它似乎并没有太大作用。 我以为占位符可能会算作t.value.lenght> 2,但是即使没有占位符(输入已经集中),按钮也会重定向到搜索页面,应该由e.preventDefault()停止,对吗?< / p>

也许有一种CSS方法可以阻止按钮链接到搜索页面?

谢谢

0 个答案:

没有答案