网页Input优化

1.Input样式设计
一般HTML中的<input>是古板的,不管该input的属性是text还是button还是其他,但input又是网页中经常用到的表单元素,因此设置好它的显示效果很重要。
如下,将为input添加背景,消除边框并且鼠标在其上时将修改input样式。
首先是CSS样式
.input_style
{
/*设置背景透明*/
background-color:transparent;
/*添加背景图*/
background-image:url(images/bg.jpg);
/*不显示边框1
border-color:transparent;
*/
/*不显示边框2*/
border-width:0px;
}
.input_style1
{
border-width:4px;
}
其次是javascript函数,实现修改input的css样式的功能
function onMouse(id,css_name)
{
document.getElementById(id).className=css_name;
}
最后是<input>
<input id="input" name="input" type="text" class="input_style" onMouseOver="onMouse('input','input_style1')">


2.Input设置只能输入数字
(1)HTML5下直接设置input的type="number",但在一般显示时,会在input右侧有一个可以加1减1的上下箭头,不太好看。消去的方法也是有的,即在style中加上以下代码:
input::-webkit-inner-spin-button {
-webkit-appearance: none;
}
input::-webkit-outer-spin-button {
-webkit-appearance: none;
}
(2)采用正则表达式方式,当输入非数字时用''替换。自我感觉体验不是太好,会有输入的内容立马消失的闪眼感。
<input id="amount" style="IME-MODE: disabled; WIDTH: 60px; HEIGHT: 15px" οnkeyup="this.value=this.value.replace(/\D/g,'')"  onafterpaste="this.value=this.value.replace(/\D/g,'')" maxlength="5" size="14" name="amount" type="text" /> 
(3)如下方法有一个Bug,当采用中文输入法时,非数字可以顺利输入,粘贴内容到input中可能也会出现问题。。。
<input id="Text1" type="text" οnkeypress="return IsNum(event)" />
function IsNum(e) {
            var k = window.event ? e.keyCode : e.which;
            if (((k >= 48) && (k <= 57)) || k == 8 || k == 0) {
            } else {
                if (window.event) {
                    window.event.returnValue = false;
                }
                else {
                    e.preventDefault(); //for firefox 
                }
            }
        } 
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值