java(二十)练习

练习:单选按钮演示。

<html>

<head>

<title>这是我的网页</title>

<style type="text/css">

#contentid{

display:none;

}

</style>

</head>

<body>

<!--

1.是否参与调查问卷?

2.性格测试

-->

<div>

您要参与问卷调查吗?

<input type="radio" name="wenjuan" value="yes" onclick="showContent(this)"/>是

<input type="radio" name="wenjuan" value="no" checked="checked" onclick="showContent(this)"/>否

</div>

<div id="contentid">

问卷调查内容:<br/>

您的姓名:<input type="text" /><br/>

您的邮箱:<input type="text" />

</div>

<script type="text/javascript">

function showContent(node){

var oDivNode=document.getElementById("contentid");

with(oDivNode.style){               //其实这个和下面注释里的内容效果是一样的,就是另一种写法。

if(node.value=="yes"){

display="block";

}else{

display="none";

}

}

// if(node.value=="yes"){

// oDivNode.style.display="block";

// }else{

// oDivNode.style.display="none";

// }

}

</script>

</body>

</html>

<html>

<head>

<title>这是我的网页</title>

<style type="text/css">

#no1ul{

list-style:none;

margin:0px;

}

.close{

display:none;

}

.open{

display:block;

}

</style>

<script type="text/javascript">

function showResult(){

//1.判断是否有答案被选中。获取所有的no1的radio,并遍历判断checked状态。

var oNo1Nodes=document.getElementsByName("no1");

var flag=false;   //用这个标记判断是否有答案被选中。

var val;  //用这个标记记住被选中的是哪个答案。

for(var x=0;x<oNo1Nodes.length;x++){

if(oNo1Nodes[x].checked){

flag=true;

val=oNo1Nodes[x].value;

break;

}

}

if(!flag){

alert("没有任何答案被选中!");

}

if(val>=1&&val<=3){

document.getElementById("res_1").className="open";

document.getElementById("res_2").className="close";       //注意:这里如果只写res_1 open,那么换一个选项,

//这个结果仍然会显示,会一直显示,所以要两个都写出来。

}else{

document.getElementById("res_2").className="open";

document.getElementById("res_1").className="close";

}

}

</script>

</head>

<body>

<h2>欢迎您参与性格测试!</h2>

<div>

<h3>第一题:</h3>

<span>您喜欢的水果是什么?</span>

<ul id="no1ul">

<li><input type="radio" name="no1" value="1" />葡萄</li>

<li><input type="radio" name="no1" value="2" />西瓜</li>

<li><input type="radio" name="no1" value="3" />苹果</li>

<li><input type="radio" name="no1" value="4" />芒果</li>

<li><input type="radio" name="no1" value="5" />樱桃</li>

</ul>

</div>

<div>

<input type="button" value="查看测试结果" onclick="showResult()"/>

<div id="res_1" class="close">1-3分:您的性格内向并扭曲,建议....</div>

<div id="res_2" class="close">4分以上:您的性格外向并分裂,建议....</div>

</div>

</body>

</html>

练习:下拉菜单应用

<html>

<head>

<title>这是我的网页</title>

<style type="text/css">

.clrclass{

height:50px;

width:50px;

float:left;

margin-right:30px

}

#text{

clear:left;

margin-top:20px;

}

</style>

</head>

<body>

<div class="clrclass" id="clr1" style="background-color:red" onclick="changeColor(this)"></div>

<div class="clrclass" id="clr2" style="background-color:green" onclick="changeColor(this)"></div>

<div class="clrclass" id="clr3" style="background-color:blue" onclick="changeColor(this)"></div>

<div id="text">

需要显示效果的文字<br/>

需要显示效果的文字<br/>

需要显示效果的文字<br/>

需要显示效果的文字<br/>

</div>

<hr/>

<select name="selectColor" onchange="changeColor2()"> //注意这里是onchange而不是onclick

<option value="black">选择颜色</option>

<option value="red">红色</option>

<option value="green">绿色</option>

<option value="blue">蓝色</option>

</select>

<script type="text/javascript">

function changeColor(node){

var colorVal=node.style.backgroundColor;

document.getElementById("text").style.color=colorVal;

}

function changeColor2(){

var oSelectedNode=document.getElementsByName("selectColor")[0];

var colorVal=oSelectedNode.options[oSelectedNode.selectedIndex].value;

document.getElementById("text").style.color=colorVal;

}

</script>

</body>

</html>

练习:选择城市(二级联动菜单)

<html>

<head>

<title>这是我的网页</title>

<style type="text/css">

width:100px;

</style>

</head>

<body>

<select id="selid" onchange="selectCity()">

<option>选择省市</option>

<option value="beijing">北京</option>

<option>山东</option>

<option>辽宁</option>

<option>河北</option>

</select>

<select id="subselid">

<option>选择城市</option>

</select>

<script type="text/javascript">

function selectCity(){

var collCities=[[‘选择城市‘],

[‘海淀区‘,‘朝阳区‘,‘东城区‘, ‘西城区‘],

[‘济南‘,‘青岛‘,‘烟台‘,‘威海‘],

[‘沈阳‘,‘大连‘,‘鞍山‘,‘抚顺‘],

[‘石家庄‘,‘保定‘,‘邯郸‘,‘廊坊‘]];

//获取两个下拉菜单对象。

var oSelNode=document.getElementById("selid");

var oSubSelNode=document.getElementById("subselid");

//获取到底选择的是哪个省

var index=oSelNode.selectedIndex;

//通过角标到容器中去获取对应的城市数组。

var arrCities=collCities[index];

// //将子菜单中的内容清空。否则,如果选山东,城市里会既有北京的区,又有山东的城市。

// for(var x=0;x<oSubSelNode.length;){             //注意:这里不需要x++

// oSubSelNode.removeChild(oSubSelNode.option[x]);

// }

// //上面这个删除太麻烦了,直接一句话就可以代替。

oSubSelNode.length=0;

//遍历获取到的对应城市的数组,并将这个数组的元素封装成option对象,添加到子菜单中。

for(var x=0;x<arrCities.length;x++){

var oOptNode=document.createElement("option");

oOptNode.innerHTML=arrCities[x];

oSubSelNode.appendChild(oOptNode);

}

}

</script>

</body>

</html>

练习:在页面中添加附件的动作。

<html>

<head>

<title>这是我的网页</title>

<style type="text/css">

table a:link,a:visited{

color:#179ed9;

text-decoration:none;

}

table a:hover{

color:#f36021;

}

</style>

</head>

<body>

<table id="fileid">

<tr>

<td><a href="javascript:void(0)" onclick="addFile()">添加附件</a></td>

</tr>

<script type="text/javascript">

function addFile(){

//因为文件选取框定义在行对象中,

//所以只要给表格创建新的行和单元格即可。

var oTabNode=document.getElementById("fileid");

var oTrNode=oTabNode.insertRow();

var oTdNode_file=oTrNode.insertCell();

var oTdNode_del=oTrNode.insertCell();

oTdNode_file.innerHTML="<input type=‘file‘/>";

oTdNode_del.innerHTML="<a href=‘javascript:void(0)‘ onclick=‘deleteFile(this)‘>删除附件</a>";

}

function deleteFile(node){

var oTrNode=node.parentNode.parentNode;

oTrNode.parentNode.removeChild(oTrNode);

}

</script>

</body>

</html>

表单校验

<html>

<head>

<title>这是我的网页</title>

</head>

<body>

<form id="userinfo" onsubmit="return checkForm()">       <!--注意:这里是return checkForm()。才能在用户名错误的情况下,不提交数据。否则会一直提交。-->

用户名称:<input type="text" name="user" onblur="checkUser()" />

<span id="userspan"></span>

<br/>

输入密码:<input type="text" name="psw" onblur="checkPsw()" />

<span id="pswspan"></span>

<br/>

确认密码:<input type="text" name="repsw" onblur="checkRepsw()" />

<span id="repswspan"></span>

<br/>

邮件地址:<input type="text" name="mail" onblur="checkMail()" />

<span id="mailspan"></span>

<br/>

<input type="submit" value="提交数据" />

</form>

<hr/>

<input type="button" value="我的自定义提交" onclick="mySubmit()"/>

<script type="text/javascript">

//校验用户名

function checkUser(){

var flag;

var oUserNode=document.getElementsByName("user")[0];

var name=oUserNode.value;

var oSpanNode=document.getElementById("userspan");

//定义正则表达式。用户名必须是4个字母。

var reg=new RegExp("^[a-z]{4}$","i");

if(reg.test(name)){

oSpanNode.innerHTML="用户名正确".fontcolor("green");

flag=true;

}else{

oSpanNode.innerHTML="用户名错误".fontcolor("red");

flag=false;

}

return flag;

}

// 想要控制只在用户名正确的时候才提交数据,怎么办?

// 直接在form后面加个属性就行。改成这样:  <form onsubmit="return checkForm()">

// 注意:这里是return checkForm()。才能在用户名错误的情况下,不提交数据。否则会一直提交。

//

// 另一种方式:自定义提交按钮

// 直接加个按钮,定义个事件,然后用form的submit()方法就行。

//提交事件的处理

function checkForm(){

alert(checkUser()+checkPsw()+checkRepsw()+checkMail());

if(checkUser()&&checkPsw()&&checkRepsw()&&checkMail()){

return true;

}else{

return false;

}

}

function mySubmit(){

var oFormNode=document.getElementById("userinfo");

if(checkUser()&&checkPsw()&&checkRepsw()&&checkMail()){

oFormNode.submit();

}else{

return;

}

}

//关于校验:

//发现很多框(比如用户名和密码)的校验除了几个内容不同外,过程几乎是一样的,所以进行了代码的提取。

function check(name,reg,spanId,okinfo,errinfo){

var flag;

var val=document.getElementsByName(name)[0].value;

var oSpanNode=document.getElementById(spanId);

if(reg.test(val)){

oSpanNode.innerHTML=okinfo.fontcolor("green");

flag=true;

}else{

oSpanNode.innerHTML=errinfo.fontcolor("red");

flag=false;

}

return flag;

}

//这下校验就很简单方便了,比如要校验密码。

function checkPsw(){

var reg=/^\d{4}$/;       //这是正则表达式的另一种定义方式,这种方式的数字就不用写成\\d了,因为外面没有双引号

return check("psw",reg,"pswspan","密码格式正确","密码格式错误");

}

//校验确认密码

function checkRepsw(){

var flag;

//获取密码框内容

var pass=document.getElementsByName("psw")[0].value;

//获取确认密码框内容

var repass=document.getElementsByName("repsw")[0].value;

//获取确认密码的span区域

var oSpanNode=document.getElementById("repswspan");

if(pass==repass){

oSpanNode.innerHTML="密码一致".fontcolor("green");

flag=true;

}else{

oSpanNode.innerHTML="密码不一致".fontcolor("red");

flag=false;

}

return flag;

}

//校验邮件

function checkMail(){

var reg=/^\[email protected]\w+(\.\w+)+$/i;      //\w后面写个加号表示一次或多次。

return check("mail",reg,"mailspan","邮件地址格式正确","邮件地址格式错误");

}

</script>

</body>

</html>

时间: 2024-10-05 04:43:45

java(二十)练习的相关文章

Java二十周年之我和java的七年之痒

我和java的七年之痒                              ----java二十周年征文 粉淡香清自一家,未容桃李占年华. java,今已二十桃李年华之年.我七年前与她结缘,那年她年华豆蔻,我弱冠有六.我们从相识到相守走过了七个冬夏,都说七年有痒,值CSDN java二十年征稿之际,我也想说说我们的七年,痒从何来: 七年前,我和java她还未曾谋面,草率的以为她是it的一部分,那时对我来讲it和娱乐圈是一样一样的,神秘而遥远.当时我在做销售工作,每周都有到外地出差,经常买些

【Java二十周年】十年,二十年

十年 十年前的这个季节,迎着空中烂漫飘落的樱花,我们踌躇满志的走出了大学的殿堂.作为一名管理学院毕业的本科生,信息管理与信息系统这个专业让我与软件开发这个职业有了些许的联系.实际的状况是:在几年的学习生涯中,所学到的编程语言也仅仅只有C语言而已,而且学习的程度也不深,对于指针,结构体这样一些相对复杂的知识点,老师也是一带而过.也就是带着那点可怜的编程知识,我勇敢的到一家美资的企业去应聘程序员.第一关当然是笔试,一位淡定的面试官拿了一份让我很不淡定的考试卷--Java 编程开发相关的试题.Java

【Java二十周年】回忆我与Java的点点滴滴

借Java二十周年之际,静下心来思考自己与Java的故事,屡屡思绪,记忆深处关于Java的点滴回忆便一层层铺展开来. 本科--我的Java"启蒙老师" 对于计算机这个口水颇多的专业,基本每个学校都会开设Java语言基础这个课程,只不过有的学校是选修课有的是必修课,这也是为什么毕业后听到很多同行好友说只懂C/C++不懂Java.幸运的是,在我们那个不知名的小学校,Java与C/C++一样是必修课,为什么说是幸运呢?选修课照样可以选学啊,no,no,大学时期的我是个巨懒无比.经常逃课.每天

【Java二十周年】我与Java的那些事

第一次认识Java那是在大二的时候,记得当时上这门课的老师是一位美女,一下子提升了大家的兴趣,打破了我们对计算机上课老师的惯例,因为大一上C++课的时候是一位中老年男人,目测应该是四十好几吧,显得那么苍老,然而上Java却是一位估计二十出头的美女,也许人家真实年龄是三十几岁,但真看不出来.看着她讲课娓娓道来,让人完全没有睡意,逃课率也是最低的.编的第一个Java程序也是俗到经典的Hello World,现在这个程序在工作的时候经常被一些培训老师挂在嘴边.美女老师的每一堂课我都认真的听了,每一个小

【Java二十周年】我会勇敢的走下去

学Java到现在已经有1年半了!对,掐指一算,整整有一年半了,按里来说,我应该是个大神了.因为之前看了网上的帖子说:一个普通人,学3个月就到了初级程序员的水平,1年半,就是大神级别了.而且csdn论坛很多牛人也说了,自己从刚步入职场时2.3K,工资飞跃到10k也差不多就这个时间了,1年半,很多菜鸟变成了大神,职场新人蜕变成独当一面的工程师.而我,现在还在迷茫当中. 楼主身在西南一所普通的二本本科院校,学的是计算机科学与技术.现在大三了,正是因为是大三,所才有点着急,想想明年这个时间就毕业了,自己

[Java二十周年]我的十多年经验与未来分析

2004年毕业的时候,听说Java程序员工作比较好找,就这样开始与Java结缘.一晃10几年过去了,做了很多项目,也发布了一些Java方面的技术性文章,总的来说,这10年时间一直都在与一个永恒的话题纠缠-"性能优化". 回想一下,我的大多数时间都被花在了处理整个大型系统的性能提升方面,遇到的问题很多情况下是本可以使用O(log N)算法,结果我却使用了O(n2)算法,此外,一直在纠缠于GC性能优化.JVM编译器的性能优化.Java企业级API调用方法等等. 我的这些经历其实是大多数Ja

【Java二十周年】Delphi转行java的一些小感触

本文纯属一届小码农对java使用过程的体验感触 目录: 初遇java编程语言 与java的擦肩 深入java 跨平台性 开源支持 web的支撑 初遇java编程语言 刚上大学的时候,完全是个电脑盲.刚入学学的计算机普及知识就是visual basic语言,可视化的组件编程语言,这个语言跟我第一份工作Delphi语言的是一个性质的,都是拖放控件,实现可视化开发,跟现在用着的extjs 中architect相似,想要显示什么,直接拖放这个组件就可以的.接触java都是大三的事情了,那时候开专业课(管

【Java二十周年】爱上Java无法自拔

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 一.写在前面的话 不知不觉之中,java都已经20岁了.刚好是一个正值青春的少年,回想当初他出生时,笔者都还没上学,编程为何物都不知道.然而就是在1995年James Gosling和同事们共同研发了java,从那之后就慢慢成为了当今世界用的人数最多.最火的一门语言了.也是从那时起,C++和Java之间口水不断,你争我夺.每个IT的论坛.每个IT的网站都有说其好.说其坏的人在,语言只是一门工

【Java二十周年】---Java之恋

初次见面 那是一个河北的夏天 风随沙散落天涯 蝴蝶依旧恋着花 回首走过的日子 手指和键盘之间的梦想之光 已恍如昨日 那年 我还是一个刚踏进这个曾经只在地理课本上狂念南稻北麦,南油北花的土地 那年 你只是我必须要学的编程语言 每天晚上511痴情相伴的黑夜 每天淡紫色蒲公英飞舞的师院 我静静地坐在电脑前 照着课本慢慢敲着键 看代码一行两行直至宝贝计划的出现 看十一教门前人面桃花相映红 晕染你微笑的脸 java的会面 让我明白封装之义 多态之美 还有继承在中间 人月神话 带我领略编程之美 程序之艰 我

【Java二十周年】我比Java大10岁

1991年,我7岁,刚刚步入学堂不到半年.而计算机在那个年代也是一个新奇的事物.可就在那样的环境中,Java已经有了萌芽.那一年,SUN公司启动绿色计划,打算发展一种可以在任何消费电子产品上运行的软件.但由于C++自身有很多不足,所以项目组决定自行开发一种新的语言Oak.最初,Oak应用于机顶盒,但是在当时市场不成熟的情况下,项目失败了.但Oak却得到了SUN领导的赏识,于是: 1995年3月23日,在对Oak进行小规模改造后Java语言诞生了,并广泛应用于互联网领域. 一年后,在1996年,我