前端杂记(1):表单提交验证、input(type=number) 去三角,刷新验证码

在进行表单提交时,需要对输入框和文本域等的value的合理性进行验证,可以编写form的onSubmit事件,代码,踩过的坑;注意点:

1、只有通过form里面的 <button type="submit" >提交</button>进行表单的提交才会触发form的onSubmit事件,如果是通过button的onclick事件进行表单提交则不会触发form的onSubmit事件
2、 onSubmit事件的正确写法是:<form action="" method="post" onsubmit="return checkFrom();">注意写上 return ,不写没有作用

function checkFrom(){
    var username=$('#username').val();
    alert(username);
    var pwd=$('#pwd').val();
    if(username==null || username==""){
        $('#codeInfo').html("请输入用户名");
        $('#username').focus();
        return false;
    }else if(pwd==null || pwd==""){
        $('#codeInfo').html("请输入密码");
        $('#pwd').focus();
        return false;
    }else{
        return true;
    }

}

3、HTML5,input 提供很多新型的type,省去了我们写JavaScript正则表达式来限定输入值的类型的时间,比如,number,email,tel等等,表示需要输入合法的数字,邮箱,电话号码等。但是我发现将type设置为number之后,让它只接受数字的输入,会出现两个三角形,用于调整数字的大小(加1减1),
这里写图片描述
很明显,有些场合我们不需要它们,影响美观度,可利用以下方法将其去掉
这里写图片描述

<style type="text/css">
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button{
    -webkit-appearance: none !important;
    margin: 0; 
}

input[type="number"]{-moz-appearance:textfield;}
</style>

4、验证码是常常见到的小部件,获取验证码,点击刷新,应传递一个参数避免多次获取同一个验证码,这时候常常考虑时间戳或者随机数,此处采用随机数

<div class="form-group input-group">                        
    <span class="input-group-addon" style="padding: 0px;">
    <img alt="验证码" src="<%=basePath %>code/verifyCode" title="看不清可点击刷新验证码" style="cursor:pointer;"
     onclick="this.src='<%=basePath %>code/verifyCode?d='+Math.random();"></span>
    <input type="number" class="form-control" id="code"
    placeholder="输入验证码" onblur="validateCode(this.value)"/>
</div>

5、来个综合的代码吧

<style type="text/css">
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button{
    -webkit-appearance: none !important;
    margin: 0; 
}

input[type="number"]{-moz-appearance:textfield;}
</style>

<script type="text/javascript">
function checkFrom(){
    var username=$('#username').val();
    alert(username);
    var pwd=$('#pwd').val();
    if(username==null || username==""){
        $('#codeInfo').html("请输入用户名");
        $('#username').focus();
        return false;
    }else if(pwd==null || pwd==""){
        $('#codeInfo').html("请输入密码");
        $('#pwd').focus();
        return false;
    }else{
        return true;
    }

}
</script>

form表单部分:

<form role="form" action="" method="post" onsubmit="return checkFrom();">
    <hr />
    <h5>Enter Details to Login</h5>
    <br />
    <div class="form-group input-group">
        <span class="input-group-addon"><i class="fa fa-tag"></i></span>
        <input type="text" class="form-control" placeholder="Your Username " name="username" id="username" />
    </div>
    <div class="form-group input-group">
        <span class="input-group-addon"><i class="fa fa-lock"></i></span>
        <input type="password" class="form-control" placeholder="Your Password" name="pwd" id="pwd" />
    </div>
    <div class="form-group input-group">

        <span class="input-group-addon" style="padding: 0px;">
                <img alt="验证码" src="获取验证码的URL" title="看不清可点击刷新验证码" style="cursor:pointer;"
                 onclick="this.src='获取验证码的URL?d='+Math.random();"></span>
        <input type="number" class="form-control" id="code" placeholder="输入验证码" onblur="validateCode(this.value)" />
    </div>
    <div class="form-group input-group">

        <span id="codeInfo" style="color: #f55"></span>

    </div>

    <div class="form-group">
        <label class="checkbox-inline"> <input type="checkbox" />
                                Remember me
        </label> 
        <span class="pull-right">
         <a href="index.html">Forget    password ? </a>
        </span>
    </div>

    <button type="submit" class="btn btn-primary ">Login Now</button>
</form>
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值