jQuery操作input改变value属性值
来源:互联网 发布:盛世下的蝼蚁 知乎 编辑:程序博客网 时间:2024/05/21 18:40
今天写了一个表单元素,在用户点击的时候会清空input中的内容,当鼠标点击其他地方的时候会把输入的值保存为input的value值
类似于这样的效果
当用户点击的时候文字消失。
html代码
<input type="text" name="" value="请输入您的邮箱地址"/> <input type="text" name="" value="请输入用户名"/> <input class="pwd" type="text" name="" value="请输入密码"/> <input class="pwd" type="text" name="" value="确认密码"/>jq代码
<script type="text/javascript">$(document).ready(function(e) { var temp; $(":text").focusin(function(){ var value = $(this).val(); if ($(this).val() == "请输入密码" || $(this).val() == "请输入您的邮箱地址" || $(this).val() == "确认密码" || $(this).val() =="请输入用户名") {if($(this).val() == "确认密码" || $(this).val() == "请输入密码") {$(this).attr('type','password')} $(this).val("")} //alert(value)})$(":input").focusout(function(event) { /* Act on the event */ if($(this).val() == "") { if ($(this).hasClass('pwd')) { $(this).attr('type','text') }; $(this).val(temp) } }); })</script>
这样之后基本所要求的功能可以实现,但是发现代码不够优雅,于是又想到了可以使用数组来保存value值,
var arr_ = []; var temp; $(":text").each(function() { arr_.push($(this).val()) }) $(":text").focusin(function(){var that = this; var value = $(that).val(); temp = value; $.each(arr_,function(i,n) {if(value==n){$(that).val("");if(value=="请输入密码"||value=="确认密码"){$(that).attr("type","password");}} });})
又发现了一个问题, 总是需要一个全局变量temp来保存value值,这对于javascript来说是不好的,于是乎又想到了data属性
<input type="text" name="" data="请输入您的邮箱地址" value="请输入您的邮箱地址"/> <input type="text" name="" data="请输入用户名" value="请输入用户名"/> <input class="pwd" type="text" data="请输入密码" name="" value="请输入密码"/> <input class="pwd" type="text" data="确认密码" name="" value="确认密码"/>
$(document).ready(function(e) { var arr_ = []; $(":text").each(function() { arr_.push($(this).val()) }) $(":text").focusin(function(){var that = this; var value = $(that).val(); $.each(arr_,function(i,n) {if(value==n){$(that).val("");if(value=="请输入密码"||value=="确认密码"){$(that).attr("type","password");}} });})$(":input").focusout(function(event) { /* Act on the event */ if($(this).val() == "") { if ($(this).hasClass('pwd')) { $(this).attr('type','text') }; $(this).val($(this).attr("data")); } }); })
这样便看起来舒服多了。
0 0
- jQuery操作input改变value属性值
- 改变文本框input value值
- jQuery,input,value
- jQuery之css样式操作、value属性值操作和复选框操作
- JQuery 改变input 的placeholder的值
- jquery 监听input输入值改变方法
- javascript,jquery 操作html元素,实现改变value
- jquery改变input可读性
- 改变隐藏的input中value的值
- 点击按钮改变input text的value值
- JS 实时监听input的value值改变 解决方案
- jquery改变元素属性值
- jquery改变元素属性值
- jquery改变元素属性值
- jquery改变 元素 属性值
- jQuery操作input值总结
- jquery操作input值总结
- jQuery操作input值总结
- C# - CSV file reader
- OCP exam notes
- 数据挖掘笔记-分类-支持向量机SVM-1
- webApp前端开发技巧总结
- Azure编程笔记(5):长时间的异步操作带来的问题
- jQuery操作input改变value属性值
- ROR incompatible character encodings: UTF-8 and ASCII-8BIT 错误的 解决办法
- Find 7轻装版和正式版
- urlEncode&&urldecode的用法
- ThinkPHP的ACTION_NAME
- AndroidActivity跳转动画,让你的APP瞬间绚丽起来
- Jlink 采用 SWD 模式下载电路接法
- 关于struct的初始化的说明
- 数组中出现2次