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%;
}

  

 

最新文章

  1. Maven:jar 下载相关的问题
  2. oracle 中的cascade
  3. MYSQL 模糊查询
  4. javascript进阶系列专题:作用域与作用域链
  5. Hello Mybatis 04 使用spring-mybatis
  6. 苹果应用 Windows 申请 普通证书 和Push 证书 Hbuilder 个推(2)
  7. 部署Zipkin分布式性能追踪日志系统的操作记录
  8. web安全 -- 常见攻击方法及预防措施
  9. HW5.30
  10. js回调函数callback()
  11. STM32之------独立看门狗(IWDG)和窗体看门狗(WWDG)
  12. Eclipse中Ctrl+Alt+Down和Ctrl+Alt+Up不起作用
  13. 2015 Multi-University Training Contest 4 Walk Out
  14. lodash源码分析之去重--uniq方法
  15. LinkedHashMap基本原理和用法&amp;使用实现简单缓存(转)
  16. QT 设置应用程序名称和主窗口标题
  17. 从零开始学 Web 之 移动Web(四)实现JD分类页面
  18. redis下操作Set和Zset
  19. related Field has invalid lookup: icontains 解决方法
  20. [粒子特效]osg的自带粒子系统osgParticle::ParticleSystem

热门文章

  1. 这是啥-Cython语言简单介绍
  2. 网络之TCP/IP四层模型
  3. HTML 学习笔记 CSS3 (2D Matrix)
  4. ajax异步举例
  5. Python的高级特性10:无聊的@property
  6. web框架学习列表
  7. C语言--scanf
  8. checkbox与jq&lt;转&gt;2
  9. 使用 Fastlane 实现 IOS 持续集成
  10. 10 Things Every Java Programmer Should Know about String