如何保存上次下拉列表选择的值用于下次显示

    下拉列表框或单选按钮框的显示名称和具体值是分开的,所以没有像处理文本框那样简单。

解决方法可以:方法1、  借用request(当点击提交后,http协议会自动把表单的元素的值提交到服务器)存储,当服务器返回客户端页面时,可以用request.getParameter("元素名称");获得显示名称。 说明: 下拉列表框或单选按钮框应该是自定义的脚本,用setValue(value) 设置要显示的名称。下拉列表框自定义脚本,可以参考:http://webfx.eae.net/dhtml/combobox/combobox.htm

                          方法2、可以在客户端使用cookies保存上次选择的值;说明:selected是option元素的属性, selectedIndex是select元素的属性。代码如下:

<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<SCRIPT LANGUAGE="JavaScript">
<!--
function saveOptions(){
 var options=new Array();
 var option;
 var radio;
 for(var i=0;i<document.getElementsByTagName("option").length;i++){
  options[i]=document.getElementsByTagName("option")[i];
  if(options[i].selected) //获得选中的选项
  //说明:selected是option元素的属性, selectedIndex是select元素的属性.
  {
  //alert(options[i].innerHTML); //测试
  option=document.getElementsByTagName("SELECT")[0].selectedIndex; 
  }
 }

 for(var i=0;i<document.getElementsByName("sex").length;i++){
  if(document.getElementsByName("sex")[i].checked)
   radio=i;
 }

 document.cookie="index="+option+"sex="+radio;
 //alert(radio);
}

function readOptions(){
 //alert(document.cookie);//测试
 //cookie的读取
 //读cookie属性,这将返回文档的所有cookie
 var allcookies=document.cookie;
 
 //获得option的索引
 var optionvalue=0; //保存索引值
 //查找名为index=的开始位置
 var pos=allcookies.indexOf("index=");
    if(pos==-1){  //-1表示indexOf没有找到匹配的
  optionvalue=0;
 }else{
  end=allcookies.indexOf("sex=");
  optionvalue=allcookies.substring(pos+6,end);
 }

 //获得radio的索引
 var radiovalue=0;
 //查找名为sex=的开始位置
 var pos1=allcookies.indexOf("sex=");
 //alert(pos1);
    if(pos1==-1){  //-1表示indexOf没有找到匹配的
  radiovalue=0;
 }else{
  end1=allcookies.length;
  radiovalue=allcookies.substring(pos1+4,end1);
 }

 //alert(radiovalue);//测试
 document.getElementsByTagName("SELECT")[0].selectedIndex=optionvalue;
 document.getElementsByName("sex")[radiovalue].checked=true;
}
//-->
</SCRIPT>
</HEAD>

<BODY οnlοad="readOptions();">
<FORM METHOD=POST ACTION="保存显示下拉列表选择框.html" οnsubmit="saveOptions();">
<INPUT TYPE="text" NAME="">
<SELECT NAME="city">
  <option value="上海">上海</option>
  <option value="广东">广东</option>
  <option value="北京">北京</option>
  <option value="深圳">深圳</option>
  <option value="香港">香港</option>
  <option value="台湾">台湾</option>
</SELECT>
<INPUT TYPE="radio" NAME="sex" value="男">男
<INPUT TYPE="radio" NAME="sex" value="女">女
<INPUT TYPE="radio" NAME="sex" value="未知">未知
<INPUT TYPE="submit" value="提交">
</FORM>
</BODY>
</HTML>

 

            

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值