1. 程式人生 > >java(二十)練習

java(二十)練習

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>


本文出自 “12946849” 博客,請務必保留此出處http://12956849.blog.51cto.com/12946849/1959727

java(二十)練習