中华网通行证
用户名 密码
  科技动态 硬件广场 下载基地 网络教室 网络冲浪 科学博览 移动时代 手机上网 桌面壁纸 科技商情  

巧用表单单选框
 冯永曜  黄山村夫

  在网页的表单中使用单选框与用户进行交互是十分常见的方法,若是给每个选项再配一段选项的内容介绍,使用户在选择的时候做到心中有数,不是效果更好吗?若是每个选项的边上都写上一段说明文字,那就使页面太乱了,使用户不明白你是在作介绍还是在做表单。我们要做的是这样一种效果,在单选框的边上适当地划一块出来显示选项的介绍,随着用户选择不同的选项动态地更换内容,下面的单选框就具有这种效果,请看效果图。


  图1


  图2

  在上面的表单中用了三个单选框组成一个“景点选择单元”,另用一个单行文本框用来显示景点简介,另外用一个按钮链接到已选择景点的相应网页,用HTML是无法实现这种动态效果的。用Javascript做起来并不难,所增加的代码也不多。表单的代码如下:
<form name="jdxzform" method="post" >
<p>
<input type="radio" name="radiobutton" value="hsfg/hsfg.htm" checked onclick="showjj(1)"> 黄山风景区 </p>
<p>
<input type="radio" name="radiobutton" value="hsfg/gmj.htm" onclick="showjj(2)"> 黟县古民居</p>
<p>
<input type="radio" name="radiobutton" value="hsfg/qys.htm" onClick="showjj(3)"> 道教圣地齐云山</p>
<div align="center">景点简介
<input type="text" name="jdjj" size="50" value="点击景点单选框,在此显示相应景点的简介。">
</div>
<p>
<input type="button" name="Button" value="显示相应的网页" onclick="showpage()">
</p>
</form>
  这个表单的代码与普通表单稍有差别:
  1、三个单选框的value参数值都是一个网页的地址,这是为了按下“显示相应网页”能实现显示相应网页的效果而设置的;
  2、单选框都加了一个onclick事件来调用“showjj”函数来实现在文本框中显示相应的景点简介效果;
  3、在按钮中加了一个onclick事件来调用showpage函数以实现按下按钮后能显示已选择的景点对应的网页。那么这两个函数是如何实现这种效果的呢?请看下面的程序代码,为了你看起来方便,把程序的解释写在相应代码的边上:
<script languae="JavaScript">
<!--
function showpage(){ //显示相应网页的函数,供按钮调用
var paageurl; //声明一个存放相应网页地址的变量
for (i=0;i<document.jdxzform.item.length;i++) //对表单中所有表单标记循环检测一遍
{
if (document.jdxzform.item[i].checked) //如果该单选框的checked为真,也就是被选中
pageurl=document.jdxzform.item[i].value; //那么把该单选框中value参数值(即相应的网页地址)赋给pageurl变量。
}
location.href=pageurl; //把pageurl的值(即相应网页的地址)赋给locqtion.href,以显示已被选择的景点对应的网页。
} //显示相应网页的函数结束。
function showjj(n){ //显示被选单选框对应景点的简介,这是一个带参数的函数,其参数就是单选框的顺序号。
var jj //声明一个存放相应景点简介信息的变量
switch(n){ // switch语句开始,它的作用是可以根据条件值的不同,选择执行不同的语句,与if语句类似,在这里就是根据单选框顺序号不同,选择不同的景点简介。
case 1:jj="薄海内外,无如徽之黄山,登黄山,天下无山,观止矣";break; //这里的break语句是不参省的,在这里的作用是当条件满足,就跳出switch语句段。若在switch语句不用break的话,你得到的永远都是最后那一条语句的结果。
case 2:jj="黟县小桃园,烟霞百里间,地多灵草木,人尚古衣冠";break;
case 3:jj="天下无双胜境,江南第一名山——清乾隆";
}
document.all["jdjj"].value=jj; //把景点简介内容赋给“jdjj”的value参数,由于“jdjj”就是那个单行文本框的名称,因此也就是改变了文本框中显示的景点简介内容,从而达到了动态显示相应景点简介的目的。 }
-->
</script>

  本文例子的制方法如下:
  1、按文中介绍的方法做好表单;
  2、把 Javascript程序复制在网页源代码的<head>与</head>之间就一切OK了。
  若你所需要的单选框数不是三个,只要在switch语句多加几个"case"就行了,其它无需改动,上面程序代码中双斜杠(//)后是注释,不是程序所必须的,实际应用时可删去。再次提醒一下,程序中要用到的网页元素名称(如本例中的“jdxzform”、“jdjj”等)大小写一定要一致,这是初学者最易犯的错误。


 赛迪网 


 

更多本栏目内容
??Windows 2000系统安全设置攻略
??Dreamweaver编写CSS需要掌握的技巧
??使用Flash MX过程中的3个小技巧
??拖IE9网站图标到Win7任务栏 精彩好礼任你拿
??从此不再耗流量?Google离线地图试用
??给瑞星添加移动存储自动杀毒功能
??一周壁纸榜单 靓丽风景伴您欢度周末
??金山网络七款软件齐升级 炫丽界面贺新春
??提升网站流量和权重 百度热榜排第一
预警:电商促销引钓鱼 七夕网购需谨慎

本站检索



中华网推荐

·国家级治脑病新药思维源
·中藏药治疗脑病新突破
·治类风湿,强直性脊柱炎
·养肾·痛风·长寿
·肝病泌尿脑萎缩新药介绍
·强直性脊柱炎康复乐园
·让中医辩证不孕不育
·国医治股骨头坏死一绝
·乙肝为何久治不愈?
·二千元垄断批发做老板
·中医中药专治前列腺
·治牛皮癣白癜风已成现实
·专治痛风病的白衣天使
·不孕不育的杏林奇葩
·专卖店零售管理系统





   

网络教室编辑信箱