微信小程序 input输入框控件详解及实例(多种示例)

发布时间 - 2026-01-10 21:48:40    点击率:

微信小程序 input输入框控件

今天主要详写一下微信小程序中的Input输入框控件,输入框在程序中是最常见的,登录,注册,获取搜索框中的内容等等都需要,同时,还需要设置不同样式的输入框,今天的代码中都要相应的使用。
首先主页面中将登录的样式进行了简单展示和使用,

代码如下:

<!--index.wxml-->

<!--如果在同一个form表单中创建了多个input输入框,可以给给每个输入框,创建自己的
name=“userName”属性,可以区别哪个输入框,并通过添加
属性提交:bindsubmit="方法名" 重置:bindreset="方法名",达到清除输入框内容的目的
js文件中的用法,e.detail.value.userName.length-->
<view class="itemView">用户名:
 <input class="input" name="userName" placeholder="请输入用户名" 
 bindinput="userNameInput"/>
 </view>
<view class="itemView">密 码:
 <input class="input" password placeholder="请输入密码"
 bindinput="passWdInput" />
 </view>
<view class="viewName" style="background-color:#fbf9fe">
 <button class="loginBtn" bindtap="loginBtnClick">登录</button>
 <button class="resetBtn" bindtap="resetBtnClick">清除</button>
</view>
<view>{{infoMess}}</view>
<view>{{userName}}</view>
<view>{{passWd}}</view>
<view class="viewName" style="margin-top: 60px;">
 <navigator url="Component/TextInput/TextInput">
 <text class="view-Name">各类型输入框展示</text>
 </navigator>
</view>

//index.js

//获取应用实例
var app = getApp()
Page({
 data: {
 infoMess: '',
 userName: '',
 userN:'',
 passWd: '',
 passW:''
 },
 //用户名和密码输入框事件
 userNameInput:function(e){
 this.setData({
 userN:e.detail.value
 })
 },
 passWdInput:function(e){
 this.setData({
 passW:e.detail.value
 })
 },
 //登录按钮点击事件,调用参数要用:this.data.参数;
 //设置参数值,要使用this.setData({})方法
 loginBtnClick:function(){
 if(this.data.userN.length == 0 || this.data.passW.length == 0){
 this.setData({
 infoMess:'温馨提示:用户名和密码不能为空!',
 })
 }else{
 this.setData({
 infoMess:'',
 userName:'用户名:'+this.data.userN,
 passWd:'密码:'+this.data.passW
 })
 }
 },
 //重置按钮点击事件
 resetBtnClick:function(e){
 this.setData({
 infoMess: '',
 userName: '',
 userN:'',
 passWd: '',
 passW:'',
 })
 },
 onLoad: function () {
 console.log('onLoad')
 var that = this
 //调用应用实例的方法获取全局数据
 app.getUserInfo(function(userInfo){
 //更新数据
 that.setData({
 userInfo:userInfo
 })
 })
 }
})

然后在第二个界面中显示了不同的样式和功能的input

<!--pages/index/Component/TextInput/TextInput.wxml-->
<view class="viewTitle">
 <text class="view-Name">TextInput输入框展示</text>
 <view class="lineView"></view>
</view>
<view class="section">
 <input class="input" placeholder-style="font-size:15px" 
 placeholder="自动聚焦弹出键盘,一个页面中只能有一个" auto-focus/>
</view>
<view class="section">
 <input class="input" placeholder="此处只有在点击下方按钮时才聚焦" focus="{{focus}}" />
</view>
<view class="section1">
 <button bindtap="bindButtonTap">使得输入框获取焦点</button>
</view>
<view class="section">
 <input class="input" maxlength="10" placeholder="最大输入长度10" />
</view>
<view class="section__title">你输入的是:{{inputValue}}</view>
<view class="section">
 <input class="input" bindinput="bindKeyInput" placeholder="输入同步到view中"/>
</view>
<view class="section">
 <input class="input" bindinput="bindReplaceInput" placeholder="连续的两个1会变成2" />
</view>
<view class="section">
 <input class="input" bindinput="bindHideKeyboard" placeholder="输入123自动收起键盘" />
</view>
<view class="section">
 <input class="input" type="number" placeholder="这是一个数字输入框" />
</view>
<view class="section">
 <input class="input" password type="text" placeholder="这是一个密码输入框" />
</view>
<view class="section">
 <input class="input" type="digit" placeholder="带小数点的数字键盘"/>
</view>
<view class="section">
 <input class="input" type="idcard" placeholder="身份证输入键盘" />
</view>
<view class="section">
 <input class="input" placeholder-style="color:red" placeholder="占位符字体是红色的" />
</view>
// pages/index/Component/TextInput/TextInput.js
Page({
 data: {
 focus: false,
 inputValue: ''
 },
 bindButtonTap: function() {
 this.setData({
 focus: true
 })
 },
 bindKeyInput: function(e) {
 this.setData({
 inputValue: e.detail.value
 })
 },
 bindReplaceInput: function(e) {
 var value = e.detail.value
 var pos = e.detail.cursor
 if(pos != -1){
 // 光标在中间
 var left = e.detail.value.slice(0,pos)
 // 计算光标的位置
 pos = left.replace(/11/g,'2').length
 }

 // 直接返回对象,可以对输入进行过滤处理,同时可以控制光标的位置
 return {
 value: value.replace(/11/g,'2'),
 cursor: pos
 }
 // 或者直接返回字符串,光标在最后边
 // return value.replace(/11/g,'2'),
 },
 bindHideKeyboard: function(e) {
 if (e.detail.value === "123") {
 //收起键盘
 wx.hideKeyboard()
 }
 },
 onLoad:function(options){
 // 页面初始化 options为页面跳转所带来的参数
 },
 onReady:function(){
 // 页面渲染完成
 },
 onShow:function(){
 // 页面显示
 },
 onHide:function(){
 // 页面隐藏
 },
 onUnload:function(){
 // 页面关闭
 }
})

效果图:

 

 源码下载地址:DEMO

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# 微信小程序  # input输入框控件  # input输入框控件实例详解  # input  # 微信小程序 input输入框详解及简单实例  # 微信小程序实现简单input正则表达式验证功能示例  # 微信小程序input框中加入小图标的实现方法  # 微信小程序 (十七)input 组件详细介绍  # 微信小程序input抖动问题的修复方法  # 输入框  # 这是一个  # 请输入  # 自己的  # 的是  # 应用实例  # 都要  # 多个  # 下载地址  # 希望能  # 第二个  # 要用  # 弹出  # 还需要  # 跳转  # 谢谢大家  # 表单  # 温馨提示  # 时才  # 以对 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何彻底删除建站之星生成的Banner?  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  如何在云主机上快速搭建多站点网站?  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  微信小程序 input输入框控件详解及实例(多种示例)  如何在不使用负向后查找的情况下匹配特定条件前的换行符  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  Laravel如何使用withoutEvents方法临时禁用模型事件  JS碰撞运动实现方法详解  *服务器网站为何频现安全漏洞?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  WEB开发之注册页面验证码倒计时代码的实现  北京网站制作公司哪家好一点,北京租房网站有哪些?  实例解析Array和String方法  Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  如何快速上传自定义模板至建站之星?  如何为不同团队 ID 动态生成多个“认领值班”按钮  EditPlus中的正则表达式 实战(1)  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  简历在线制作网站免费版,如何创建个人简历?  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  Linux系统命令中tree命令详解  网站建设要注意的标准 促进网站用户好感度!  php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率  Laravel如何使用Telescope进行调试?(安装和使用教程)  高防服务器:AI智能防御DDoS攻击与数据安全保障  Laravel怎么上传文件_Laravel图片上传及存储配置  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  UC浏览器如何设置启动页 UC浏览器启动页设置方法  EditPlus中的正则表达式实战(6)  javascript事件捕获机制【深入分析IE和DOM中的事件模型】  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  微信小程序 HTTPS报错整理常见问题及解决方案  UC浏览器如何切换小说阅读源_UC浏览器阅读源切换【方法】  ,南京靠谱的征婚网站?  如何快速搭建二级域名独立网站?  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  如何解决hover在ie6中的兼容性问题  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  Laravel如何生成URL和重定向?(路由助手函数)  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程