巧用表单单选框 冯永曜 黄山村夫
在网页的表单中使用单选框与用户进行交互是十分常见的方法,若是给每个选项再配一段选项的内容介绍,使用户在选择的时候做到心中有数,不是效果更好吗?若是每个选项的边上都写上一段说明文字,那就使页面太乱了,使用户不明白你是在作介绍还是在做表单。我们要做的是这样一种效果,在单选框的边上适当地划一块出来显示选项的介绍,随着用户选择不同的选项动态地更换内容,下面的单选框就具有这种效果,请看效果图。
图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”等)大小写一定要一致,这是初学者最易犯的错误。
与 或 标题 全文 关键字 以上全部
·国家级治脑病新药思维源 ·中藏药治疗脑病新突破 ·治类风湿,强直性脊柱炎 ·养肾·痛风·长寿 ·肝病泌尿脑萎缩新药介绍 ·强直性脊柱炎康复乐园 ·让中医辩证不孕不育 ·国医治股骨头坏死一绝 ·乙肝为何久治不愈? ·二千元垄断批发做老板 ·中医中药专治前列腺 ·治牛皮癣白癜风已成现实 ·专治痛风病的白衣天使 ·不孕不育的杏林奇葩 ·专卖店零售管理系统