精华内容
下载资源
问答
  • 如何在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小小小欣 两位小伙伴在评论区的反馈。

    展开全文
  • 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源码

    展开全文
  • 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

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

    2019-02-14 14:32:35
    输入框,自动补全的输入框,android输入框自动补全输入框 输入框,自动补全的输入框,android输入框...输入框,自动补全的输入框,android输入框自动补全输入框输入框,自动补全的输入框,android输入框自动补全输入框
  • 当用户要在表单中键入字母、数字等内容时,就会用到文本输入框。文本框也可以转化为密码输入框。语法: 名称" value="文本" /> </form>1、type:当type=”text”时,输入框为文本输入框;当type=”password”时, ...

    当用户要在表单中键入字母、数字等内容时,就会用到文本输入框。文本框也可以转化为密码输入框。

    语法:

    <form>
       <input type="text/password" name="名称" value="文本" />
    </form>

    1、type:

    当type=”text”时,输入框为文本输入框;

    当type=”password”时, 输入框为密码输入框。

    2、name:为文本框命名,以备后台程序ASP 、PHP使用。

    3、value:为文本输入框设置默认值。(一般起到提示作用)

    举例:

    <form>
      姓名:
      <input type="text" name="myName">
      <br/>
      密码:
      <input type="password" name="pass">
    </form>

    在浏览器中显示的结果:

    这里写图片描述

    除此之外,还有其他的输入字段:

    hidden 定义隐藏输入字段

    image 定义图像作为提交按钮

    number 定义带有 spinner 控件的数字字段

    password 定义密码字段。字段中的字符会被遮蔽

    radio 定义单选按钮

    range 定义带有 slider 控件的数字字段

    reset 定义重置按钮。重置按钮会将所有表单字段重置为初始值

    search 定义用于搜索的文本字段

    submit 定义提交按钮。提交按钮向服务器发送数据

    text 默认。定义单行输入字段,用户可在其中输入文本。默认是 20 个字符

    url 定义用于 URL 的文本字段

    展开全文
  • 普通输入框字段校验测试 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-native中,在安卓中使用输入框时,请问我一个页面有多个输入框的时候,当我点击第一个输入框的时候,会弹出键盘,然后我去再输入第二个输入框的时候键盘会先下去,点击之后再上来,这个还怎么控制当我...
  • html输入框input光标距离输入框左边间距设置
  • Input输入框

    2020-08-26 11:10:26
    Input输入框 通过鼠标和键盘输入字符。 Input为受控组件,它总会显示Vue绑定值。 通常情况下,应当处理input事件,并更新组件的绑定值(或使用v-model)。否则,输入框内显示的值将不会改变。 不支持v-model修饰...
  • react 获取input 输入框的值

    万次阅读 2018-08-03 11:11:27
    react 获取input 输入框的值 第一种方式 非受控组件获取 第二种方式 受控组件获取 非受控组件获取 ref import React , {Component} from 'react'; export default class App extends Component{ search(){ ...
  • lua输入框

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

    2020-04-17 16:54:33
    一般输入框会用到2个,一个是TextInput一个是TextField。 因为TextInput加Rectangle如果太长会出现一种问题,就是Text会输入到Rectangle外面。 可以用TextField代替,也可以限制其长度! TextInput和TextField...
  • 下划线输入框

    2019-10-11 09:41:30
    实现下划线输入框效果,如图: 代码如下: html代码: <span style="font-size:16px;">组长: <input type="text" class="input" /> </span> CSS: .input{ border:0; border-bottom:1px ...
  • input输入框长度

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

    千次阅读 2019-12-13 17:32:11
    最近项目有需求,需要实现一个类似微信聊天输入框的组件,用在全平台的评论功能中。大概需求就是输入的文字占满一行时,自动折行并且增大输入框的高,输入框的高有默认的最大值。在此,记录一下遇到的问题。 1、...
  • 如何实现input输入框自带清除按钮

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

    万次阅读 多人点赞 2015-10-10 11:54:15
    当用户要在表单中键入字母、数字等内容时,就会用到文本输入框。文本框也可以转化为密码输入框。 语法: 1、type:  当type="text"时,输入框为文本输入框;  当type="password"时, 输入框为密码输入框。 ...
  • 简介: Android 验证码和密码输入框,能自定义输入框个数和样式(连体,下划线和方形框) 类似微信支付宝的密码输入框等 更多:作者提 Bug 标签: Android 验证码和密码输入框,能自定义输入框个数和样式(连体...
  • 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...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 71,099
精华内容 28,439
关键字:

输入框