精华内容
参与话题
问答
  • 如何在HTML中限制input 输入框只能输入纯数字

    万次阅读 多人点赞 2018-02-27 15:23:29
    输入框输入任何非数字内容,都会自动退格并清除! 核心代码: onKeyUp=”value=value.replace(/[^\d]/g,”)” 示例代码 <!DOCTYPE html> <html lang="en&...

    限制 input 输入框只能输入纯数字

    1、onkeyup = "value=value.replace(/[^\d]/g,'')"

    使用 onkeyup 事件,有 bug ,那就是在中文输入法状态下,输入汉字之后直接回车,会直接输入字母

    2、onchange = "value=value.replace(/[^\d]/g,'')"

    使用 onchange 事件,在输入内容后,只有 input 丧失焦点时才会得到结果,并不能在输入时就做出响应

    3、oninput = "value=value.replace(/[^\d]/g,'')"

    使用 oninput 事件,完美的解决了以上两种问题,测试暂时还没有出现其它问题。

    代码示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>input</title>
    </head>
    <body>
        只能输入纯数字的输入框:<input type="text" name="" oninput="value=value.replace(/[^\d]/g,'')">
    </body>
    </html>
    

    以上代码均已在谷歌、火狐、百度、UC、IE11、360急速、QQ、Edge浏览器下测试完毕,请放心使用,

    感谢 qq_38726717小小小欣 两位小伙伴在评论区的反馈。

    展开全文
  • element input输入框自动获取焦点

    万次阅读 2019-10-25 14:25:40
    最近项目中在做表单的时候,需要自动滚动到评论框,并且让评论框自动聚焦,这就需要手动触发输入框的 focus 状态。 但是,element并不支持autofocus属性,那就只能通过原生的js效果获取聚焦效果了 document....

    博客地址:http://www.globm.top/blog/1/detail/43
    最近项目中在做表单的时候,需要自动滚动到评论框,并且让评论框自动聚焦,这就需要手动触发输入框的 focus 状态。

    但是,element并不支持autofocus属性,那就只能通过原生的js效果获取聚焦效果了

    document.getElementById("input").focus();
    

    或者利用vue的ref属性也可以实现聚焦效果:

    原理其实很简单,Element 已经提供了 focus 方法,但是文档并没有写明如何去调用,下面是在el-input标签上加入ref属性,然后在需要的地方直接调用方法就可以了

    <el-input v-model="input" placeholder="请输入内容" ref="input"></el-input>
    
    this.$nextTick(() => {
          this.$refs.input.focus()
        })
    

    注意:一个页面只能有一个聚焦效果


    last , vue也支持自定义指令
    当页面加载时,该元素将获得焦点 (注意:autofocus 在移动版 Safari 上不工作)。事实上,只要你在打开这个页面后还没点击过任何内容,这个输入框就应当还是处于聚焦状态。现在让我们用指令来实现这个功能:

    // 注册一个全局自定义指令 `v-focus`
    Vue.directive('focus', {
      // 当被绑定的元素插入到 DOM 中时……
      inserted: function (el) {
        // 聚焦元素
        el.focus()
        // element-ui
        el.children[0].focus()
        // 元素有变化,如show或者父元素变化可以加延时或判断
        setTimeout(_ => {
          el.children[0].focus()
        })
      }
    })
    

    参考:vue自定义指令 https://cn.vuejs.org/v2/guide/custom-directive.html

    展开全文
  • flutter 输入框组件TextField

    万次阅读 多人点赞 2018-09-08 12:35:56
    顾名思义文本输入框,类似于Ios中的UITextField和Android中的EditText和Web中的TextInput。主要是为用户提供输入文本提供方便。相信大家在原生客户端上都用过这个功能,就不在做具体介绍了,接下来还是具体介绍下...

    TextField

    顾名思义文本输入框,类似于iOS中的UITextField和Android中的EditText和Web中的TextInput。主要是为用户提供输入文本提供方便。相信大家在原生客户端上都用过这个功能,就不在做具体介绍了,接下来还是具体介绍下Flutter中TextField的用法。

    以下内容已更新到 github

    TextField的构造方法:

      const TextField({
        Key key,
        this.controller,            //控制器,控制TextField文字
        this.focusNode,
        this.decoration: const InputDecoration(),      //输入器装饰
        TextInputType keyboardType: TextInputType.text, //输入的类型
        this.style,
        this.textAlign: TextAlign.start,
        this.autofocus: false,
        this.obscureText: false,  //是否隐藏输入
        this.autocorrect: true,
        this.maxLines: 1,
        this.maxLength,
        this.maxLengthEnforced: true,
        this.onChanged,            //文字改变触发
        this.onSubmitted,          //文字提交触发(键盘按键)
        this.onEditingComplete,  //当用户提交可编辑内容时调用
        this.inputFormatters,
        this.enabled,
        this.cursorWidth = 2.0,
        this.cursorRadius,
        this.cursorColor,
        this.keyboardAppearance,
      })
    

    先来试试最基本的TextField:

    /*
     * Created by 李卓原 on 2018/9/7.
     * email: zhuoyuan93@gmail.com
     *
     */
     
    import 'package:flutter/material.dart';
    
    class TextFieldAndCheckPage extends StatefulWidget {
      @override
      State<StatefulWidget> createState() => TextFieldAndCheckPageState();
    }
    
    class TextFieldAndCheckPageState extends State<TextFieldAndCheckPage> {
      @override
      Widget build(BuildContext context) {
        return Scaffold(appBar: AppBar(
          title: Text('输入和选择'),
        ),body:TextField(),
        );
      }
    }
    
    

    输入框
    这是一个默认的输入框,我们什么都没有做的时候的样子.
    然后我们试一下它的属性

    TextField(
            keyboardType: TextInputType.number,
            decoration: InputDecoration(
              contentPadding: EdgeInsets.all(10.0),
              icon: Icon(Icons.text_fields),
              labelText: '请输入你的姓名)',
              helperText: '请输入你的真实姓名',
            ),
            onChanged: _textFieldChanged,
            autofocus: false,
          ),
    
    
      void _textFieldChanged(String str) {
        print(str);
      }
    

    我们增加一个keyboardType属性,把keyboardType设置为TextInputType.number
    可以看到每次我们让TextField获得焦点的时候弹出的键盘就变成了数字优先了。
    然后我们为输入框做一些其他的效果,如提示文字,icon、标签文字等。
    我们给上面的代码新增decoration属性,设置相关属性,可以发现当我们的TextField获得焦点时,图标会自动变色,提示文字会自动上移。

    这里写图片描述

    还可以看到 我加了一个onChanged
    onChanged是每次输入框内每次文字变更触发的回调,onSubmitted是用户提交而触发的回调。
    每当用户改变输入框内的文字,都会在控制台输出现在的字符串.与onSubmitted用法相同.

    接下来,我们实现一个简单的登录页面:

    /*
     * Created by 李卓原 on 2018/9/7.
     * email: zhuoyuan93@gmail.com
     *
     */
    
    import 'package:flutter/cupertino.dart';
    import 'package:flutter/material.dart';
    
    class TextFieldAndCheckPage extends StatefulWidget {
      @override
      State<StatefulWidget> createState() => TextFieldAndCheckPageState();
    }
    
    class TextFieldAndCheckPageState extends State<TextFieldAndCheckPage> {
      //手机号的控制器
      TextEditingController phoneController = TextEditingController();
    
      //密码的控制器
      TextEditingController passController = TextEditingController();
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: Text('输入和选择'),
          ),
          body: Column(
            children: <Widget>[
              TextField(
                controller: phoneController,
                keyboardType: TextInputType.number,
                decoration: InputDecoration(
                  contentPadding: EdgeInsets.all(10.0),
                  icon: Icon(Icons.phone),
                  labelText: '请输入你的用户名)',
                  helperText: '请输入注册的手机号',
                ),
                autofocus: false,
              ),
              TextField(
                  controller: passController,
                  keyboardType: TextInputType.number,
                  decoration: InputDecoration(
                    contentPadding: EdgeInsets.all(10.0),
                    icon: Icon(Icons.lock),
                    labelText: '请输入密码)',
                  ),
                  obscureText: true),
              RaisedButton(
                onPressed: _login,
                child: Text('登录'),
              ),
            ],
          ),
        );
      }
    
      void _login() {
        print({'phone': phoneController.text, 'password': passController.text});
        if (phoneController.text.length != 11) {
          showDialog(
              context: context,
              builder: (context) => AlertDialog(
                    title: Text('手机号码格式不对'),
                  ));
        } else if (passController.text.length == 0) {
          showDialog(
              context: context,
              builder: (context) => AlertDialog(
                    title: Text('请填写密码'),
                  ));
        } else {
          showDialog(
              context: context,
              builder: (context) => AlertDialog(
                    title: Text('登录成功'),
                  ));
          phoneController.clear();
        }
      }
    
      void onTextClear() {
        setState(() {
          phoneController.clear();
          passController.clear();
        });
      }
    }
    
    

    这里写图片描述

    在布局上,我们使用一个Column包含了两个TextField和一个RaisedButton。
    在逻辑上,每当我们点击下面的按钮都会判断用户名密码是否符合要求,并且使用控制器清空已经输入的用户名和密码。

    当用户输入的手机号码不是11位的时候提示手机号码格式错误,
    当用户没有输入密码时,提示填写密码,
    用户名和密码符合要求时提示登录成功。

    我这里登录成功之后还调了一个方法:phoneController.clear() 清空了用户名输入框中的内容。

    代码的逻辑很简单。关于TextField的其他用法就不在一一介绍了,有兴趣的小伙伴可以自己尝试下.

    使用decoration美化输入框

    先看一下效果:

    这里写图片描述

    代码:

    TextField(
                controller: accountController,
                decoration: InputDecoration(
                  border: OutlineInputBorder(),
                  hintText: '请输入账号',
                  labelText: '左上角',
                  prefixIcon: Icon(Icons.person),
                ),
              )
    

    在这里插入图片描述
    可以看到,我先添加了一个decoration属性.

    decoration属性介绍:

    border:增加一个边框,
    hintText:未输入文字时,输入框中的提示文字,
    prefixIcon:输入框内侧左面的控件,
    labelText:一个提示文字。输入框获取焦点/输入框有内容 会移动到左上角,否则在输入框内,labelTex的位置.
    suffixIcon: 输入框内侧右面的图标.
    icon : 输入框左侧添加个图标

    在多个输入框内切换焦点

    介绍一下onEditingComplete这个方法:

    当用户提交可编辑内容时调用(例如,用户按下键盘上的“done”按钮)。

    onEditingComplete的默认实现根据情况执行2种不同的行为:

    • 当完成操作被按下时,例如“done”、“go”、“send”或“search”,用户的内容被提交给[controller],然后焦点被放弃。
    • 当按下一个未完成操作(如“next”或“previous”)时,用户的内容被提交给[controller],但不会放弃焦点,因为开发人员可能希望立即将焦点转移到[onsubmit]中的另一个输入小部件。

    在这里插入图片描述

    我们有时候会需要这样的情况, 比如一个登录页面, 需要输入账号和密码 , 自然输入完账号就要输入密码了 , 我们在输入账号结束的时候 , 让密码输入框获取到焦点 .

    看一下代码:

    ...
      FocusNode secondTextFieldNode = FocusNode();
    ...
    Column(
            children: <Widget>[
              TextField(
                /* onChanged: (text) {
              value = text;
              print(value);
            },*/
                autofocus: false, //是否自动获取焦点
                controller: _textController,
                decoration: InputDecoration(
                  suffixIcon: Icon(Icons.chevron_right), //输入框内右侧图标
                  icon: Icon(Icons.person), //输入框左侧图标
                  prefixIcon: Icon(Icons.skip_previous), //输入框内左侧图标
                  labelText: 'labelText',
                  hintText: 'hintText',
                  helperText: 'helperText',
                ),
                onEditingComplete: () =>
                    FocusScope.of(context).requestFocus(secondTextFieldNode),
              ),
              TextField(
                focusNode: secondTextFieldNode,
                decoration: InputDecoration(
                    contentPadding: EdgeInsets.symmetric(horizontal: 15.0)),
              ),
            ],
          ),
    

    我在顶层创建了一个交电接点并附加给第二个输入框,
    在第一个输入框的onEditingComplete方法中是用

    FocusScope.of(context).requestFocus(secondTextFieldNode),
    

    方法来让第二个输入框请求获取焦点,
    当然你也可以添加个按钮 , 点击按钮执行这个方法来实现切换焦点的功能.

    例如:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BjSYHYmc-1573730655449)(https://cdn-images-1.medium.com/max/800/1*vMJw-_qx5DjX7Q3NZ5TTbg.gif)]
    代码很简单,我就不贴了.

    keyboardType

    TextField成为焦点时显示的键盘类型。

    TextField(
      keyboardType: TextInputType.number,
    ),
    

    类型是:

    • TextInputType.text(普通完整键盘)
    • TextInputType.number(数字键盘)
    • TextInputType.emailAddress(带有“@”的普通键盘)
    • TextInputType.datetime(带有“/”和“:”的数字键盘)
    • TextInputType.multiline(带有选项以启用有符号和十进制模式的数字键盘)

    TextInputAction

    更改TextField的textInputAction可以更改键盘本身的操作按钮。

    TextField(
      textInputAction: TextInputAction.search,
    ),
    

    这会导致“完成”按钮被“搜索”按钮替换:

    在这里插入图片描述

    TextCapitalization

    TextField提供了一些有关如何使用户输入中的字母大写的选项。

    • TextCapitalization.sentences : 这是我们期望的正常类型的大写,每个句子的首字母大写。
      在这里插入图片描述

    • TextCapitalization.characters:大写句子中的所有字符。

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4ykAhgu0-1573730655451)(https://cdn-images-1.medium.com/max/800/1*S-cw3fGmFsDasSaECpNnwQ.png)]

    • TextCapitalization.words : 将每个单词的首字母大写。
      在这里插入图片描述

    更改TextField中的光标

    可以直接从TextField小部件自定义游标。

    可以更改角落的光标颜色,宽度和半径。
    例如,这里我没有明显的原因制作一个圆形的红色光标。

    TextField(
      cursorColor: Colors.red,
      cursorRadius: Radius.circular(16.0),
      cursorWidth: 16.0,
    ),
    

    在这里插入图片描述

    控制TextField中的大小和最大长度

    TextFields可以控制在其中写入的最大字符数,最大行数并在键入文本时展开。

    TextField(
      maxLength: 4,
    ),
    

    在这里插入图片描述

    通过设置maxLength属性,将强制执行最大长度,并且默认情况下会将计数器添加到TextField。

    github源码

    展开全文
  • 我想知道怎么设定输入框的长度,比如<input type="text" value="1" /> 这个长度可能就 | 1 | 这么长 但是我想让我的这个输入框长一点 比如 | 1 | 该用什么来设定?
  • Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框 ,点击右侧清除图片清除输入框内容,项目详情http://blog.csdn.net/xiaanming/article/details/11066685
  • 修改input输入框的样式

    万次阅读 多人点赞 2016-08-08 10:51:02
    我们在写表单的时候,经常需要自定义表单的样式,当然input输入框也不例外,那么如何能写出好看一点的输入框呢? 下面我们来写个简单的表单 <form action="" method="get"> <div class="input_...

    我们在写表单的时候,经常需要自定义表单的样式,当然input输入框也不例外,那么如何能写出好看一点的输入框呢?

    下面我们来写个简单的表单

     

    <form action="" method="get">
        <div class="input_control">
            <input type="text" class="form_input" placeholder="Enter vendor key here"/>
        </div>
        <div class="input_control">
            <input type="text" class="form_input" placeholder="Enter room name here"/>
        </div>
        <div class="input_control">
            <input type="text" class="form_input" placeholder="Input key here if use encryption"/>
        </div>
        <div class="input_control">
            <a id="btn1"><b></b>Join</a>
        </div>
        <div class="input_control">
            <a id="btn2"><b></b>Video Options</a>
        </div>
    </form>

     

    首先要将input输入框的默认样式去掉

     

    -webkit-appearance:none;
      -moz-appearance: none;

    然后我们加上边框和圆角,并设置input的高度和字体大小和颜色:

     

     

    font-size:1.4em;
    height:2.7em;
    border-radius:4px;
    border:1px solid #c8cccf;
    color:#6a6f77;

    然后将input输入框的轮廓去掉:

     

     

    outline:0;

    这样我们的输入框就差不多好了,input样式完整代码如下:

     

     

    .input_control{
      width:360px;
      margin:20px auto;
    }
    input[type="text"],#btn1,#btn2{
      box-sizing: border-box;
      text-align:center;
      font-size:1.4em;
      height:2.7em;
      border-radius:4px;
      border:1px solid #c8cccf;
      color:#6a6f77;
      -web-kit-appearance:none;
      -moz-appearance: none;
      display:block;
      outline:0;
      padding:0 1em;
      text-decoration:none;
      width:100%;
    }
    input[type="text"]:focus{
      border:1px solid #ff7496;
    }

    效果如下图:

     

    通过上图的input样式我们可以看出,虽然比默认样式好看了许多,但是还有一些问题,比如placeholder的默认字体颜色是灰色,看起来有点浅,我们继续修改样式,那么如何修改placeholder的样式呢?我们加上如下代码即可:

     

    ::-moz-placeholder { /* Mozilla Firefox 4 to 18 */
      color: #6a6f77;
    }
    ::-moz-placeholder { /* Mozilla Firefox 19+ */
      color: #6a6f77;
    }
    input::-webkit-input-placeholder{
      color: #6a6f77;
    }

    修改之后样式如下图:

     

    截图上input的边框有点虚,实际效果比这个好,这样就完成了一个简单漂亮的表单了。

    展开全文
  • android自动补全输入框

    2019-02-14 14:32:35
    输入框,自动补全的输入框,android输入框自动补全输入框 输入框,自动补全的输入框,android输入框...输入框,自动补全的输入框,android输入框自动补全输入框输入框,自动补全的输入框,android输入框自动补全输入框
  • 当用户要在表单中键入字母、数字等内容时,就会用到文本输入框。文本框也可以转化为密码输入框。语法: 名称" value="文本" /> </form>1、type:当type=”text”时,输入框为文本输入框;当type=”password”时, ...
  • 普通输入框字段校验测试 1.不输入,空内容 2.输入1个字符 3.若输入框有长度限制为N个字符,测试N-1个字符,N个字符,N+1个字符,N+N+...(超长)这几个边界值 4.还需要测试下通过复制大于长度的值粘贴进去看是否...
  • 一、代码: (1)A输入框  1 <span class="filterBlock"> 2 证卡号码: 3 <Input class="filter" 4 v-model.lazy="cardNumber" 5 placeholder="请输入" 6 ...
  • react 获取input 输入框的值

    万次阅读 2018-08-03 11:11:27
    react 获取input 输入框的值 第一种方式 非受控组件获取 第二种方式 受控组件获取 非受控组件获取 ref import React , {Component} from 'react'; export default class App extends Component{ search(){ ...
  • 各位大佬,react-native中,在安卓中使用输入框时,请问我一个页面有多个输入框的时候,当我点击第一个输入框的时候,会弹出键盘,然后我去再输入第二个输入框的时候键盘会先下去,点击之后再上来,这个还怎么控制当我...
  • html输入框input光标距离输入框左边间距设置
  • 如何实现input输入框自带清除按钮

    万次阅读 2018-01-08 14:20:14
    最近,项目中需要,在输入框获取焦点是动态显示“×”图标。即在输入框中输入内容时,右边显示“×”按钮;输入框为空时,“×”按钮消失。难点在于获取焦点的同时,获取输入内容。注意:本例子的样式基于bootstrap....
  • lua输入框

    千次阅读 2018-03-24 15:38:53
    ----------panel是添加输入框的容器 local size = panel:getContentSize()--根据容器的大小创建输入框 --点九缩放输入框大小 local editBox = ccui.EditBox:create(size, ccui.Scale9Sprite:create()) --设置位置...
  • js获取input输入框的值

    万次阅读 2019-05-22 16:19:51
    代码如下所示: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="Content-Language" content="zh-cn" />...输入框</title> </head&g...
  • input输入框长度

    千次阅读 2019-04-24 15:44:19
    input输入框长度
  • iOS仿微信聊天输入框、评论输入框

    千次阅读 2019-12-13 17:32:11
    最近项目有需求,需要实现一个类似微信聊天输入框的组件,用在全平台的评论功能中。大概需求就是输入的文字占满一行时,自动折行并且增大输入框的高,输入框的高有默认的最大值。在此,记录一下遇到的问题。 1、...
  • 简介: Android 验证码和密码输入框,能自定义输入框个数和样式(连体,下划线和方形框) 类似微信支付宝的密码输入框等 更多:作者提 Bug 标签: Android 验证码和密码输入框,能自定义输入框个数和样式(连体...
  • HTML的文本输入框、密码输入框

    万次阅读 多人点赞 2015-10-10 11:54:15
    当用户要在表单中键入字母、数字等内容时,就会用到文本输入框。文本框也可以转化为密码输入框。 语法: 1、type:  当type="text"时,输入框为文本输入框;  当type="password"时, 输入框为密码输入框。 ...
  • JavaScript输入框

    千次阅读 2018-09-25 20:17:32
    各种输入框,不懂的可以留言 &lt;input type="text" id="username"&gt; //用户名 &lt;input type="password" id="pwd"&gt; //密码框 &lt;...
  • pyqt各种输入框inputbox

    2018-12-20 19:07:59
    pyqt各种输入框inputbox:包括密码输入、数字数入,combobox输入,多行输入
  • Bootstrap创建输入框

    2019-05-16 14:28:11
    输入框输入框组是对表单控件的扩展。使用输入框组,你可以很容易地在文本输入框<input>的前面或后面添加文本或按钮。 通过输入框组,你可以向输入框添加公共的元素。如,添加人民币符号、电子邮件的 @ ...
  • Android 密码输入框

    千次阅读 2017-11-06 15:55:49
    好久没写blog了,今天抽空写一个Android里面都能用到的自定义控件,密码输入框。简单介绍一下这个密码输入框的样子吧,当软键盘弹出在输入适合,会有删除的图标显示,点击删除会清空Edittext,后面也会有个眼睛的...
  • 当上面的一个输入框充填了内容,下面的输入框自动充填上上面输入框的内容,比如:一个输入框要上传图片,选择图片之后此输入框的内容显示的是图片名称,此图片名称要自动充填到下面的一个输入框中,代码如下: ...

空空如也

1 2 3 4 5 ... 20
收藏数 62,813
精华内容 25,125
关键字:

输入框