jq 点击文本域清除默认值与回车提交表单代码

jq 点击文本域清除默认值与回车提交表单代码

点击文本域,清除默认值.默认值显示时为灰色文字,点击后高亮显示,可绑定回车事件.
项目中常用到的一个效果,封装成一个小小的插件,一点不复杂,需要的看下demo演示中源码注释.若是不想只为清除一个默认文本调一个jquery库,可以用原生的按我的思路写一下,很简单.
特点
1.支持input文本域及textarea同时为多表单添加同样的默认值;
2.默认值可通过表单value值设定,也可通过插件参数(iset.curval)设置. iset.curval默认值为null,但它优先于表单value值,当iset.curval值设置时取iset.curval值忽略表单value值;
3.默认值时颜色自定义;
4.支持绑定回车事件,默认为null,可自行传入需要绑定回车事件的元素.
;(function($){
    $.fn.extend({
        iclear: function(options){
            var iset = {
                name: null,//获取表单元素比如$(':text')
                curval: null,//默认显示文字,优先于表单默认值,为空时调用表单默认值
                color: '#000',//点击后输入值颜色
                curcolor: '#ccc',//默认颜色
                enter: null
            }
            options=$.extend(iset, options || {});
            iset.name.each(function(){
                //当设置默认值是为表单赋默认值
                if (iset.curval != null) {
                    iset.name.val(iset.curval);
                }
                //表单focus,blur事件
                $(this).css教程('color', iset.curcolor).focus(function(){
     $(this).css('color',iset.color);
                    if ($(this).val() == (iset.curval ? iset.curval : this.defaultvalue)) {
                        $(this).val('');
                    }
                }).blur(function(){
                    if ($(this).val() == '') {
                        $(this).val(iset.curval ? iset.curval : this.defaultvalue).css('color', iset.curcolor);
                    }
                });
                //绑定回车事件
                if (iset.enter != null) {
                    $(this).keydown(function(e){
                        if (e.keycode == 13) {
                            iset.enter.click();
                        }
                    });
                }
            });
        }
    });
})(jquery);

完整实例代码

<style>
/*demo css*/
#demo label input{_margin-top:1px;margin:5px 8px 5px 0;padding-left:5px;border:1px solid #999;width:200px;height:20px;font-size:14px;color:#000}
#demo textarea{width:200px;height:60px;border:1px solid #999}
</style>

<form action="#" method="post">
<div id="demo">
<label for="id_0"><strong>input-one:</strong><input type="text" value="input-我是默认值" id="id_0" /></label><input type="submit" value="提交" />
<br />
<label for="id_1"><strong>input-two:</strong><input type="text" value="input-我是默认值" id="id_1" /></label><input type="submit" value="提交" />
<br />
<label for="id_2"><strong>input-three:</strong><input type="text" value="input-我是默认值" id="id_2" /></label><input type="submit" value="提交" />
<br />
<br />
<textarea>textarea-我是默认值</textarea>
<textarea>textarea-我是默认值</textarea>
<textarea>textarea-我是默认值</textarea>
</div>
</form>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script>

;(function($){
    $.fn.extend({
        iclear: function(options){
            var iset = {
                name: null,//获取表单元素比如$(':text')
                curval: null,//默认显示文字,优先于表单默认值,为空时调用表单默认值
                color: '#000',//点击后输入值颜色
                curcolor: '#ccc',//默认颜色
                enter: null
            }
            options=$.extend(iset, options || {});
            iset.name.each(function(){
                //当设置默认值是为表单赋默认值
                if (iset.curval != null) {
                    iset.name.val(iset.curval);
                }
                //表单focus,blur事件
                $(this).css('color', iset.curcolor).focus(function(){
     $(this).css('color',iset.color);
                    if ($(this).val() == (iset.curval ? iset.curval : this.defaultvalue)) {
                        $(this).val('');
                    }
                }).blur(function(){
                    if ($(this).val() == '') {
                        $(this).val(iset.curval ? iset.curval : this.defaultvalue).css('color', iset.curcolor);
                    }
                });
                //绑定回车事件
                if (iset.enter != null) {
                    $(this).keydown(function(e){
                        if (e.keycode == 13) {
                            iset.enter.click();
                        }
                    });
                }
            });
        }
    });
})(jquery);

//插件调用
$(function(){
    $('#demo').iclear({
        name: $(':text'),
        enter: $(':submit')
    });
    $('#demo').iclear({
        name: $('textarea'),
        curval: '我是重新设定的值'
    });
});   

</script>

时间: 2024-11-05 04:49:53

jq 点击文本域清除默认值与回车提交表单代码的相关文章

jquery下异步提交表单 异步跨域提交表单_jquery

1.使用post提交方式 2.构造表单的数格式 3.结合form表单的submit调用ajax的回调函数. 使用 jQuery 异步提交表单代码: 复制代码 代码如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>无标题页</title> </head> <script src="js/jquery-1.4.2.js">&l

【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)_jquery

本文实例总结了jQuery实用代码片段.分享给大家供大家参考,具体如下: //each遍历文本框 清空默认值 $(".maincenterul1").find("input,textarea").each(function () { //保存当前文本框的值 var vdefault = this.value; $(this).focus(function () { if (this.value == vdefault) { this.value = "&q

随机数字-access 中 字段“点击量”,设置默认值:int(100*rnd())+100 点击量不变化?

问题描述 access 中 字段"点击量",设置默认值:int(100*rnd())+100 点击量不变化? access 中 字段"点击量",设置默认值:int(100*rnd())+100 为什么发布新闻之后,点击量不变化?想要效果,点击量是一个100到200之间的随机数字,但,第一篇随机的,后面再发就和第一篇的点击量相同了. 解决方案 先调用Randomize否则每次产生的是一样的 解决方案二: 先调用Randomize否则每次产生的是一样的

光标-jquery 将点击右侧用户名将值写到左侧表单

问题描述 jquery 将点击右侧用户名将值写到左侧表单 左侧表单代码 <table class="table-en"> <tbody><tr><th colspan="7">报名信息</th> </tr></tbody><tbody> <tr> <td class="round" width="60">第1

jquery-select下拉表中 有默认值 如何排除默认值判断select下表是否选择没选择提示

问题描述 select下拉表中 有默认值 如何排除默认值判断select下表是否选择没选择提示 <td> <select id=""applicationamount3"" name=""applicationamount""> <option value=""2"" selected=""selected"" >

html网页中php提交表单与取值代码

这两天学了写表单.总结于此,以备忘. 例子一(POST提交表单):   view sourceprint? <html>     <head>         <title>         Chunkify Form         </title>     </head>     <body>     <form action="chunkify.php教程" method="POST"

标签-php 无刷新提交表单时,怎样修改原页面中的label的值?

问题描述 php 无刷新提交表单时,怎样修改原页面中的label的值? 在原页面index.html中,使用了来进行无刷新提交表单. 其中index.html中有一个label 提交时的action页面是form.php 当提交成功时,想在form.php中把index.html中的label的值设为 "提交成功", 这怎么实现啊? 解决方案 1.你使用的是ajax提交的话,提交成功后$(label的id或者class).html("提交成功"); 2.使用的是原生

跨域提交表单问题,小白求助!

问题描述 跨域提交表单问题,小白求助! 1.html 代码 <form action="http://111.com/XXX.ASP" method="post"> <p>帐号: <input type="text" name="user" /></p> <p>密码: <input type="text" name="pass&qu

js模拟点击以提交表单为例兼容主流浏览器_javascript技巧

在实际的应用开发中,我们会常常用到JS的模事件,但有时会遇到一些问题,比如说点击事件,举个简单的例子,点击表单外的"提交"按钮来提交表单.上代码吧. Html: 复制代码 代码如下: <h3>请单击"提交",测试提交按钮的单击事件也被触发了.</h3> <button id="btn">提交</button> <form action="#" method="ge