`

input type="search" 实现搜索框

    博客分类:
  • HTML
阅读更多

欲实现一个文字搜索的功能,要求输入时,键盘回车按钮提示显示为“搜索”。

参考自:https://segmentfault.com/a/1190000007765742

开始~

input type=text并不能达到这种效果,google了一下,html5 增加的type=search可以做到(但需要input type=search外面包上一层带action属性的form)。

 

<div class="search-input-wrap clearfix">
            <div class="form-input-wrap f-l">
                <form action="" class="input-kw-form">
                    <input type="search" autocomplete="off" name="baike-search" placeholder="请输入关键词" class="input-kw">
                </form>
                <i class="iconfont if-message"></i>
                <i class="iconfont if-close"></i>
            </div>
            <i class="search-cancel f-l">取消</i>
        </div>
 

 

但type=search会有许多默认样式和行为,这次开发遇到的有:

  • 会默认下拉框显示搜索历史记录;

  • 输入时自动弹出“x”,“x”的样式在不同手机上,样式不同;

  • IOS 手机(测试时为iphone6 ios10)上输入框为椭圆形.

但我们希望样式按照我们自定义的样式显示,并且各个手机上能统一。

于是几经google,得到答案:

  • 设置input autocomplete="off"去掉弹出的下拉框;

  • 将默认的“x”隐藏掉:

  • input[type="search"]::-webkit-search-cancel-button{
        display: none;
    }
     
  • 针对ios 设置样式, 去除ios下input 椭圆形:

  • -webkit-appearance: none;
     

同时别忘记,如果提交搜索时想使用ajax,那么可以阻止表单的默认行为:

 
container.on('submit', '.input-kw-form', function(event){
    event.preventDefault();
})
 
【拓展:】
H5 input type="search" 不显示搜索 解决方法
在IOS(ipad iPhone等)系统的浏览器里打开H5页面。如下写法:
<input type="search" name="search” id="search">
 以上设备的键盘仍然显示“换行”。
解决方法如下:在input外面嵌套一层form:
<form action="">
    <input type="search" name="search" id="search">
</form>
 其中form 必须有action。
如果你不想要action,因为它可能影响了你input的提交逻辑,可以重写一下onsubmit onclick等方法来实现。
也可以用简单的方法:action="javascript:return true;"。
【注意事项】
      如果<form></form>表单中只有一个<input type="text"/>,则使文本框获取焦点,并单击回车,form会自动提交。提交路径为action属性拼接到当前路径(action属性默认为空字符串,如果form没有action属性,则提交路径与当前路径相同)。
      浏览器表现:Chrome(桌布版、移动版)会出现此问题,Android手机会出现。Safari(桌面版、移动版)不会出现。
      解决方法:禁止表单提交
    1 设置成<form onsubmit="return false;">
    2 增加一个无name属性的隐藏文本框 
<input type="text" style="display:none;/>
 
    3 监听input的keydown事件
input.addEventListener('keydown', function(e){
    var keywd = e.target.value;
    if(event.keyCode == 13 && keywd) { 
        e.preventDefault();
    } 
});
 
 
 
.
分享到:
评论

相关推荐

    微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)

    一:搜索框功能实现 1.在首页做一个搜索框的样式并实现跳转到搜索页面 &lt;view class='page_row' bindtap=suo&gt; &lt;view class=search&gt; &lt;view class=df&gt; &lt;icon class=searchcion size='20' type='search'&gt; &lt;input...

    Bootstrap实现弹性搜索框

    在Bootstrap中,搜索框通常使用`&lt;form&gt;`元素和`&lt;input&gt;`元素来构建。以下是一个基本的搜索框结构: ```html &lt;form action="" method="get" class="form-horizontal"&gt; &lt;div class="input-group search-input-group...

    HTML5(软件品牌)-1期 12 教学课件_单元5_HTML5的input类型.pdf

    `&lt;input type="search"&gt;` 用于创建搜索框,通常用于网站内部搜索。虽然外观上与普通文本输入框相似,但其样式和行为可能因浏览器而异。例如: ```html &lt;input type="search" name="search_query" /&gt; ``` 7. color...

    react-react实现的搜索框

    在React中实现一个搜索框是常见的前端开发任务,它涉及到组件化、状态管理以及事件处理等核心概念。React是一个流行的JavaScript库,用于构建用户界面,尤其是单页应用程序(SPA)。让我们深入探讨如何在React中创建...

    移动端H5实现搜索框样式源码

    一个典型的搜索框包括`&lt;input&gt;`标签,用于输入搜索关键词,以及可选的`&lt;button&gt;`标签,用于触发搜索操作。例如: ```html &lt;form class="search-form"&gt; &lt;input type="text" class="search-input" placeholder="请...

    jquery实现input搜索输入关键词后自动筛选相关信息效果

    然后,编写JavaScript代码来监听input元素的`keyup`事件,每当用户在搜索框中键入字符时,该事件会被触发。我们将获取当前输入的关键词,并对数据源(例如一个JSON对象数组)进行遍历,找出匹配的项,更新`search...

    css超炫的发光搜索框

    一个基本的搜索框HTML元素是`&lt;input type="search"&gt;`。在我们的案例中,我们可以这样设置: ```html &lt;form class="shine-search"&gt; &lt;input type="search" id="search-input" placeholder="请输入关键词" /&gt; ...

    HTML5&CSS3网页制作:Input元素的其他属性.pptx

    如`&lt;input type="search" name="user_search" placeholder="请输入关键字"&gt;`,用户看到“请输入关键字”的提示,知道应在此处输入搜索词。 8. required属性: required属性强制Input元素的值不能为空,如果为空,...

    input search.rar

    在网页设计中,我们经常需要使用`input`元素来创建各种表单控件,其中搜索框(`&lt;input type="search"&gt;`)是常见的交互元素。然而,原生的搜索框在不同浏览器中的表现可能不尽相同,特别是清除按钮(叉号)的样式。在...

    微信小程序搜索框实现微信小程序搜索框实现

    本文将详细讲解如何在微信小程序中实现一个功能完备的搜索框组件。 一、基本结构 微信小程序应用的基本结构包括JSON、WXML、WXSS和JS四个部分,对应于配置文件、结构文件、样式文件和逻辑文件。在提供的文件列表中...

    html自定义搜索框

    1. 使用`&lt;input type="search"&gt;`创建基本的搜索框。 2. 用CSS定制搜索框的样式。 3. 使用JavaScript和Ajax实现动态搜索、实时反馈等功能。 4. 可以考虑引入第三方库,如select2,来利用其提供的高级特性,但也可以...

    百度搜索框源代码程序源码

    本资源"百度搜索框源代码程序源码"提供了一个实现百度搜索框功能的源代码,这对于我们理解搜索引擎前端界面的工作原理、学习网页交互设计以及前端开发技术具有重要的学习价值。 首先,我们要明白的是,这个源代码...

    HTML/CSS实现的搜索框.zip

    HTML/CSS实现的搜索框是网页设计中常见的一种交互元素,尤其在谷歌、百度和必应等搜索引擎的首页上,这种搜索框的设计显得尤为重要。它不仅需要具备良好的用户体验,还要有美观的视觉效果。在本项目中,我们将探讨...

    nutch 0.9分页代码(粘贴可用)

    &lt;input type="hidden" name="start" value="&lt;%=start - hitsPerPage%&gt;"&gt; &lt;input type="hidden" name="hitsPerPage" value="&lt;%=hitsPerPage%&gt;"&gt; &lt;input type="hidden" name="hitsPerSite" value="&lt;%=hitsPerSite%&gt;...

    HTML5教程三

    - **搜索框**: `&lt;input type="search"&gt;`专门用于搜索功能。 - 示例代码: ```html &lt;input type="search" name="query" autofocus&gt; ``` - **其他元素**: - `&lt;input type="text"&gt;`:普通文本输入框 - `&lt;input ...

    CSS和图片做漂亮搜索框

    在`search.html`文件中,我们通常会看到HTML代码结构,如`&lt;form&gt;`用于包裹搜索框和按钮,`&lt;input type="text"&gt;`定义搜索框,`&lt;button&gt;`或`&lt;input type="submit"&gt;`定义提交按钮。通过CSS选择器,我们可以精确地为这些...

    小程序实现搜索框功能

    本文实例为大家分享了小程序实现搜索框功能的具体代码,供大家参考,具体内容如下 实现效果图: xxx.wxml &lt;!--搜索框 --&gt; &lt;view class=weui-search-bar&gt; &lt;view class=weui-search-bar__form&gt; &lt;!--点击...

    响应式搜索框

    在本项目中,我们探讨的是一个实现了简单响应式的搜索框,其核心目标是在网页宽度较小,比如在移动设备上时,能够有效调整布局,确保界面的清晰和易用。 首先,我们要理解响应式设计的基本原理。这主要通过使用媒体...

Global site tag (gtag.js) - Google Analytics