博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Js关于表单的事件应用
阅读量:6407 次
发布时间:2019-06-23

本文共 2905 字,大约阅读时间需要 9 分钟。

这几天闲来无事,回顾了下以前的代码练习,发现还有许多应用得上的,这里便将其发出来,仅供参考

<!DOCTYPE HTML>

<html>
<head>
<meta charset="UTF-8">
<title>练习</title>
</head>
<body>
<div>练习一:
如下文本框,当输入内容后,默认的提示消失,文字变为黑色;<br>
如果没有输入内容,则文字还原为灰色,提示保留
</div>
<input type="text" id="myinput" value="请输入姓名" style="color: gray;"/>
<hr/>
<div>
<input type="checkbox" name="items" value="吃饭">吃饭
<input type="checkbox" name="items" value="睡觉"> 睡觉
<input type="checkbox" name="items" value="打豆豆">打豆豆
<input type="checkbox" name="items" value="音乐">音乐
<input type="checkbox" name="items" value="游戏">游戏

</div>

<div><input type="button" name="checkall" id="checkall" value="全选">
<input type="button" name="checkall" id="checkNo" value="全不选">
<input type="button" name="checkall" id="checkReverse" value="反选">
</div>

</body>
</html>
<script>
function addListener(element,e,fn){
if(element.addEventListener)
{
element.addEventListener(e,fn,false);
}
else
{
element.attachEvent("on" + e,fn);
}
}
var myinput = document.getElementById("myinput");
addListener(myinput,"click",function(){
myinput.value = "";
})
addListener(myinput,"blur",function(){
myinput.value = "请输入您的ID";
})
document.getElementById('checkall').οnclick=function(){
/*************************************************/
// 获取所有的复选框
var checkElements=document.getElementsByName('items');
for(var i=0;i<checkElements.length;i++){
var checkElement=checkElements[i];
// 方法一
// checkElement.setAttribute('checked',' checked');
// 方法二
checkElement.checked="checked";
}
}
/*************************************************/
// 处理全不选
document.getElementById('checkNo').οnclick=function(){
// 获取所有的复选框
var checkElements=document.getElementsByName('items');
for(var i=0;i<checkElements.length;i++){
var checkElement=checkElements[i];
// 方法一火狐不支持
// checkElement.setAttribute('checked',null);
// 方法二 火狐和ie都支持
checkElement.checked=null;
}
}
/******************************************************************/
//反选
document.getElementById('checkReverse').οnclick=function(){
// 获取所有的复选框
var checkElements=document.getElementsByName('items');
for(var i=0;i<checkElements.length;i++){
var checkElement=checkElements[i];
if (checkElement.checked) {
checkElement.checked=null;
}
else{
checkElement.checked="checked";
}
// 方法一
// checkElement.setAttribute('checked',null);
// 方法二 火狐和ie都支持

}

}
/***********************************************************/
//全选/不选
document.getElementById('checkItems').οnclick=function()
{
// 获取所有的复选框
var checkElements=document.getElementsByName('items');
if (this.checked) {
for(var i=0;i<checkElements.length;i++){
var checkElement=checkElements[i];
checkElement.checked="checked";
}
}
else{
for(var i=0;i<checkElements.length;i++){
var checkElement=checkElements[i];
checkElement.checked=null;
}
}

}</script>

这里的代码实现了两个比较实用的功能,其一是文本框的默认内容改变,这涉及到了CheckBox事件;其二是将选项全选,全不选,反选,这里应用到了for循环以及点击事件处理,让用户更加体验的方便快捷。

如果有何处不懂,代码有注释,还有不懂的话可以私我,谢谢合作。

 

 

 

转载于:https://www.cnblogs.com/cgdblog/p/6537300.html

你可能感兴趣的文章
ECSHOP报错误Deprecated: preg_replace(): The /e modifier is depr
查看>>
【iOS】iOS之Button segue弹出popOver消除(dismiss)问题
查看>>
java多线程系列5-死锁与线程间通信
查看>>
数据库分库分表
查看>>
腾讯Hermes设计概要——数据分析用的是列存储,词典文件前缀压缩,倒排文件递增id、变长压缩、依然是跳表-本质是lucene啊...
查看>>
ARP协议(1)什么是ARP协议
查看>>
小程序模板嵌套以及相关遍历数据绑定
查看>>
Systemd入门教程:命令篇(转)
查看>>
java随机范围内的日期
查看>>
linux包之diff
查看>>
***PHP中判断变量为空的几种方法
查看>>
ABAP开发顾问必备:SAP ABAP开发技术总结
查看>>
MVC 接受Flash上传图片
查看>>
spring事务学习(转账案例)(二)
查看>>
[官方教程] [ES4封装教程]1.使用 VMware Player 创建适合封装的虚拟机
查看>>
http协议与http代理
查看>>
【iOS开发-91】GCD的同步异步串行并行、NSOperation和NSOperationQueue一级用dispatch_once实现单例...
查看>>
Redis+Spring缓存实例
查看>>
Storm集群安装详解
查看>>
Maven搭建Spring+Struts2+Hibernate项目详解
查看>>