import React,{ Component } from 'react';
import style from 'cms.css';
​
/*** 路由路径 登录成功后页面跳转到index*/
import { index } from 'config';
​
export default class Login extends Component {constructor(props){super(props);this.state = {userName: "",userPassword: "",isRemember: false,unameHelp: "",upwdHelp: ""}}
​
    //监听input中的数据,保存到state中changeUsername(e){let uname = e.target.value;this.setState({userName: uname});console.log(this.state.userName);}
​changePassword(e){let upwd = e.target.value;this.setState({userPassword: upwd})}
​ //是否记住密码handleCheckbox(e){let isChecked = e.target.checked;if(isChecked){this.setState({isRemember: true})}else{this.setState({isRemember: false})}}
​//点击登录按钮,触发后台接口提供的验证,对数据的处理等方法handleClick(){if(this.state.userName === ""||this.state.userName === null){this.setState({unameHelp: "* 用户名不能为空"})}else if(this.state.userPassword === ""||this.state.userPassword === null){this.setState({unameHelp: "",upwdHelp: "* 密码不能为空"})}else{this.setState({ //清除help-block提示文字unameHelp: "",upwdHelp: ""});if(this.state.isRemember === true){ //是否记住密码,若记住,则保存至localstorage,反之,清除// let loginData = {this.state.userName,this.state.userPassword};let loginData = {};loginData.userName = this.state.userName;loginData.userPassword = this.state.userPassword;Data.localSetItem("mm_loginStatus",loginData);}else{Data.localRemoveItem("jiaj-loginStatus");}this.props.login(this.state.userName,this.state.userPassword);console.log(this.state);}
​
​}
​render(){
​return (<div className="login-box">
​<div className="login-title">登   录</div><form action="" className="form-horizontal"><div className="form-group input-text"><label htmlFor="uname">账号</label><input type="text" className="form-control" name="username" id="uname" ref="uname" placeholder="手机号/用户名"onChange={this.changeUsername.bind(this)}/><span className="help-block">{this.state.unameHelp}</span></div>
​<div className="form-group input-text"><label htmlFor="upwd">密码</label><input type="password" className="form-control" name="password" id="upwd" ref="upwd" placeholder="密码"onChange={this.changePassword.bind(this)}/><span className="help-block">{this.state.upwdHelp}</span></div>
​<div className="form-group"><label htmlFor="chk" className="check"><input type="checkbox" id="chk" checked={this.state.isRemember} onClick={this.handleCheckbox.bind(this)} /><span>记住密码</span></label></div>
​<div className="form-group"><button type="button" onClick={this.handleClick.bind(this,this.state.userName,this.state.userPassword)} className="btn btn-primary login-btn">登录</button></div></form>
​</div>)}
}
​
​/**************登录(WXP)****************/.login-box{width: 60%;background: #e0e8e0;margin: 100px auto;padding: 50px 70px;box-shadow: 5px 5px #ddd;border-radius: 5px;
}
​
.login-title{font-size: 30px;text-align: center;margin-bottom: 20px;font-weight: 600;
}
​
.input-text>label{display: inline-block;width: 15%;
}
​
.input-text>input{display: inline-block;width: 80%;
}
.check{margin-left: 15%;width: 40%
}
.check>span{margin-left: 3%;
}
.login-btn{margin-left: 15%;width: 80%;font-size: 16px;
}
.help-block{color: #e4393c;height: 20px;font-size: 12px;margin-left: 15%;
}

  

react.js 表单验证-登录框相关推荐

  1. 分享21个JS抽奖转盘特效,36个JS表单验证,31个JS进度条,总有一款适合您

    分享21个JS抽奖转盘特效,36个JS表单验证,31个JS进度条,总有一款适合您 下载链接:https://pan.baidu.com/s/1TWOGqes5J2baelO9qdItXg?pwd=ma ...

  2. anjular.js表单验证实例

    应用声明,控制器 <form action="" method="post" id="myForm" name="logFo ...

  3. 通用的JS表单验证插件代码

    一个通用的JS表单验证插件代码.使用方法:第一步:需设定表单项数据类型,第二步:实例表单验证,验证错误提示说明(程序有自带相关错误提示,可自定义每项验证错误提示时文本,只需添加msg). [task] ...

  4. 掌财社:html5中AmazeUI框架中JS表单验证实战案例展示!

    今天和大家分享个有关于"html5中AmazeUI框架中JS表单验证实战案例展示!"这方面的相关内容知识,让大家对于html5中AmazeUI框架也可以有所了解! 1.需求 做一个 ...

  5. JS表单验证(HTML+CSS+JS)详细教程

    大家好,今天分享一个HTML+CSS+JS表单验证,这是我前两天学习的一个小demo,在这记录一下. 目录 一.效果图 二.介绍 三.代码 (1)HTML (2)CSS (3)JavaScript J ...

  6. JS表单验证-12个常用的JS表单验证

    JS表单验证-12个常用的JS表单验证 表单验证,小编在项目完结后的这段时间把常用的JS表单验证demo整理了一下,和大家一起分享~~~ 1.长度限制 <p>1. 长度限制</p&g ...

  7. js表单验证(常用的正则表达式)

    js表单验证的正则表达式,test() 方法用于检测一个字符串是否匹配某个模式,如果字符串中含有匹配的文本,则返回 true,否则返回 false. 语法:let reg=/正则表达式主体/修饰符(可 ...

  8. js表单验证密码(确认密码),密码长度至少8位,并且英文与数字组合

    js表单验证密码(确认密码) 案例需求:在注册时,输入密码对其进行密码强度验证,并判断两次输入的密码是否一致.例如,密码长度至少8位,并且英文与数字组合. 代码实现 <p>输入密码:< ...

  9. 原生js —— 表单验证练习(12306注册)

    12306注册 知识点: ① 获取父元素:对象.parentElement.对象.parentNode ② 获取最后一个子元素:对象.lastElementChild.对象.lastChild ③ 获 ...

  10. js表单验证处理和childNodes 和children 的区别

    一.对提交表单进行空值验证 html代码: 1 <form action="#"onsubmit="return validate_form(this);" ...

最新文章

  1. JAVA数组的定义及用法
  2. 10年,4600万台!树莓派,生日快乐
  3. PyTorch 深度剖析:如何保存和加载PyTorch模型?
  4. js创建对象的几种方法及继承
  5. (74)信号发生器DDS三角波设计(二)(第15天)
  6. “华为鸿蒙”操作系统下月发布?华为辟谣:请以官方声明为准
  7. 抽奖砍价之类以均值为基础的波动算法 demo版本
  8. linux中sed和find,Linux运维知识之Linux 之 sed 与 find 命令结合使用
  9. VMware安装CentOS过程(初学linux)
  10. 【相机标定系列】标定工具仓库
  11. WIN7 7100+TOAD最新版本9.7.2.5切换到SCRIPT显示注释的时候是乱码。表数据中文显示正常!求解决方案。...
  12. UReport2初体验
  13. 单片机小车关于PWM控速
  14. 深度学习入门(九)——深度学习框架概览
  15. html如何调用less,LESS
  16. 网络安全等级保护定级备案
  17. XCODE性能测试方法
  18. 如何通过ps把彩色照片转换为黑白素描
  19. 【和UI斗智斗勇的日子】如何实现一个类似哈罗单车APP主页打车模块的卡片式切的View
  20. 流量从“海量”到“僵化”,精细化运营是企业最后一根救命稻草

热门文章

  1. 精挑细选几个JavaScript库和工具
  2. Ekho TTS 5.1发布
  3. SQL SERVER 数据库表索引重建
  4. Xplanner 项目规划跟踪工具
  5. c form画直线_初一数学线段、射线、直线知识点精讲
  6. 缺页异常(Page Faults) 和 Kernel Oops打印调用流程
  7. java开发项目经验_十年开发经验总结的 Java 程序员架构学习路线
  8. python set类型
  9. 记一次python分布式web开发(利用docker)
  10. html----选项卡自动切换以及鼠标悬停时停止(js)