几段表单处理的JQuery代码,你一定要收藏

1 只接受数字输入

$("#uAge").keydown(function(event) {
    // 允许退格和删除键
    if ( event.keyCode == 46 || event.keyCode == 8 ) {
    }
    else {
        // 保证输入的是数字键
        if (event.keyCode < 48 || event.keyCode > 57 ) {
            event.preventDefault();
        }
    }
});

2 全选

$("#checkall").click(function() {
   //固有属性使用prop,切记 
   $("#myForm input:checkbox").prop("checked",true);
});

3 反选

$("#inverse").click(function() {
    $("#myForm input:checkbox").each(function () {
        $(this).prop("checked",!$(this).prop("checked"))
    })
});

4 单选框标签表示

//css,隐藏radio圆形,用label表示
//实际使用中,样式写的好看一些
.sex input {  display: none; }
.selected {  background: red;  }
//javascript
$("input:radio").click(function () {
    $("input:radio").parent("label").removeClass("selected");
    $(this).parent("label").addClass("selected");
})

5 还可输入多少字符提示

//第一个参数:总字符数
//第二个参数:还可输入多少显示区对象
$.fn.limiter = function (limit, elem) {
    $(this).on("keyup focus", function () {
        setCount(this, elem);
    });
    function setCount(src, elem) {
        var chars = src.value.length;
        if (chars > limit) {
            src.value = src.value.substr(0, limit);
            chars = limit;
        }
        elem.html(limit - chars);
    }
    setCount($(this)[0], elem);
}
$("#title").limiter(3,$("#limit"));

6 输入域显示缺省值

$('.default').each(function() {
    var $this = $(this);
    var defaultVal = $this.attr('title');
    if($this.val().length ==0) {
        $this.val(defaultVal);
    }
    $this.focus(function() {
        if ($this.val() === defaultVal) {
            $this.val('');
        }
    });
    $this.blur(function() {
        if ($this.val().length === 0) {
            $this.val(defaultVal);
        }
    });
});

7 Email验证

$.fn.validateEmail = function () {
    var $this = $(this);
    $this.change(function () {
        var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
        if ($this.val() == "") {
            $this.removeClass("badEmail").removeClass("goodEmail")
        } else if (reg.test($this.val()) == false) {
            $this.removeClass("goodEmail");
            $this.addClass("badEmail");
        } else {
            $this.removeClass("badEmail");
            $this.addClass("goodEmail");
        }
    });
};

8 避免重复提交

$('form').submit(function() {
    if(typeof jQuery.data(this, "disabledOnSubmit") == 'undefined') {
        jQuery.data(this, "disabledOnSubmit", { submited: true });
        $('input[type=submit], input[type=button]', this).each(function() {
            $(this).attr("disabled", "disabled");
        });
        return true;
    }
    else
    {
        return false;
    }
});

简单列举了几段JQuery表单处理的代码片段,包括只能输入数字的文本域、checkbox全选、checkbox反选、输入字符数量提示、Email验证、避免重复提交等。所有代码均经过测试验证,记得要收藏啊。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、文本框为字符型 必填项非空校验: 1、必填项未输入--程序应提示错误; 2、必填项只输入若干个空格,未输入其它...
    许小小晴阅读 10,146评论 0 2
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,120评论 19 139
  • form简介 是HTML中的一个元素,它表示文档中的一个区域,这个区域包含了交互控件,用于向web服务器提交信息。...
    七里之境阅读 5,216评论 0 1
  • 行走世间18余载,看过的经历过的好像那么不值一提。站在18岁的十字路口,不知道接下来自己应该走向哪一边。聊人生,聊...
    24ae8c52b5bd阅读 1,288评论 0 1
  • 火车上没觉累怎么累,可躺在床上却觉得浑身酸疼。躺在松软舒适干净的大床里,睡得香甜,19日清晨,虽然五点钟的闹铃闹醒...
    槑头槑脑儿阅读 1,184评论 1 2

友情链接更多精彩内容