a.asp
<%Response.Write "<script language='javascript'>var re = '"&Session("re")&"'</script>"%>
<form method="post" action="b.asp">
<input type="checkbox" name="region" value="beijing">
<input type="checkbox" name="region" value="shanghai">
<input type="submit">
</form><script language="javascript">
<!--
 if(re!="")
 {
  var o =document.getElementsByName("region");
  for(var i = 0;i<o.length;++i)
  {
  if(o[i].value == re)
  {
  o[i].checked = true;
  }
  }
 }
//-->
</script>b.asp
<%
re = Request.Form("region")
Session("re") = re
%>如果多选的话就在js中将re以","分割为数组  再循环处理

解决方案 »

  1.   

    可以通过将 checkbox 的值用参数传递过去,然后在checkbox中判断如果等于默认值就选中
    <?
    if(region.value!=""):
    <input type="checkbox" name="region" value="shanghai" checked>
    else:
    <input type="checkbox" name="region" value="shanghai">
    endif;?>
      

  2.   

    可以用session实现提交后给session付值即可
      

  3.   

    用Xml还是比较方便,在提交后生成checkbox的状态,将XML存入session,或数据库,然后下次访问时将xml读出来对比.
      

  4.   

    <%
    re = Request.Form("region")
    Session("re") = re
    Response.Write "<script language='javascript'>var re = '"&Session("re")&"'</script>"%>
    <form method="post">
    <input type="checkbox" name="region" value="beijing">
    <input type="checkbox" name="region" value="shanghai">
    <input type="submit">
    </form><script language="javascript">
    <!--
     if(re!="")
     {
      var o =document.getElementsByName("region");
      for(var i = 0;i<o.length;++i)
      {
      if(o[i].value == re)
      {
      o[i].checked = true;
      }
      }
     }
    //-->
    </script>是这样?
      

  5.   

    楼上的你的意思我明白,可是你的后面的javascript放在后面可以吗,不是在<head>中吗
      

  6.   

    用session保存提交过的值,然后做判断
      

  7.   

    我不想用session,我想用全用客户端技术
      

  8.   

    那就用userData看
    <HTML XMLNS:sdk>
    <HEAD>
    <STYLE>
    sdk\:cacher {behavior:url(#default#userData);}
    </STYLE>
    <script language="javascript">
    <!--
    function saveSubmit()
    {
    var strValue = "";
    var o =document.getElementsByName("region");
      for(var i = 0;i<o.length;++i)
      {
      if(o[i].checked)
      {
      strValue = o[i].value;
      }
      }
    cachetag.setAttribute("region",strValue);
    cachetag.save("cache");
    }window.onload = function()
    {
    cachetag.load("cache");
    var re = cachetag.getAttribute("region");
     if(re!="")
     {
      var o =document.getElementsByName("region");
      for(var i = 0;i<o.length;++i)
      {
      if(o[i].value == re)
      {
      o[i].checked = true;
      }
      }
     }
    }
    //-->
    </script>
    </HEAD>
    <body>
    <form method="post">
    <sdk:cacher id="cachetag"></sdk:cacher>
    <input type="checkbox" name="region" value="beijing">
    <input type="checkbox" name="region" value="shanghai">
    <input type="submit" onclick="saveSubmit()">
    </form>
    </body>
    </HTML>
      

  9.   

    <HTML XMLNS:sdk>
    <HEAD>
    <STYLE>
    sdk\:cacher {behavior:url(#default#userData);}
    </STYLE>
    <script language="javascript">
    <!--
    function saveSubmit()
    {
    var strValue = "";
    var o =document.getElementsByName("region");
      for(var i = 0;i<o.length;++i)
      {
      if(o[i].checked)
      {
      strValue = o[i].value;//这里是不是覆盖原值了,只有一个值被保留下来
    //javascript我不熟,请指教!!!!
      }
      }
    cachetag.setAttribute("region",strValue);
    cachetag.save("cache");
    }window.onload = function()
    {
    cachetag.load("cache");
    var re = cachetag.getAttribute("region");
     if(re!="")
     {
      var o =document.getElementsByName("region");
      for(var i = 0;i<o.length;++i)
      {
      if(o[i].value == re)
      {
      o[i].checked = true;
      }
      }
     }
    }
    //-->
    </script>
    </HEAD>
    <body>
    <form method="post">
    <sdk:cacher id="cachetag"></sdk:cacher>
    <input type="checkbox" name="region" value="beijing">
    <input type="checkbox" name="region" value="shanghai">
    <input type="submit" onclick="saveSubmit()">
    </form>
    </body>
    </HTML>
      

  10.   

    strValue = o[i].value;//将选中的checkbox的value值给strValue变量以上针对radiobutton还可以
    但针对checkbox程序还不完善 你需要再进一步修改
      

  11.   

    <HTML XMLNS:sdk>
    <HEAD>
    <STYLE>
    sdk\:cacher {behavior:url(#default#userData);}
    </STYLE>
    <script language="javascript">
    <!--function saveSubmit()
    {
    var arrValue = new Array();
    var o =document.getElementsByName("region");
      for(var i = 0;i<o.length;++i)
      {
      if(o[i].checked)
      {
      arrValue[arrValue.length] = o[i].value;
      }
      }
    cachetag.setAttribute("region",arrValue);
    cachetag.save("cache");
    }window.onload = function()
    {
    cachetag.load("cache");
    var re = cachetag.getAttribute("region");
    var arrRe = re.split(","); var o =document.getElementsByName("region");
     
    for(var m=0;m<arrRe.length;++m)
    {
    for(var i = 0;i<o.length;++i)
    {
    if(o[i].value == arrRe[m])
    {
    o[i].checked = true;
    }
    }
    }}
    //-->
    </script>
    </HEAD>
    <body>
    <form method="post">
    <sdk:cacher id="cachetag"></sdk:cacher>
    <input type="checkbox" name="region" value="beijing">
    <input type="checkbox" name="region" value="shanghai">
    <input type="submit" onclick="saveSubmit()">
    </form>
    </body>
    </HTML>-----------------搞定 程序你自己优化吧
      

  12.   

    改好了!贴出来,大家一起看看吧,再次感谢yeefly的热心帮助!!!!
    <HTML XMLNS:sdk>
    <HEAD>
    <STYLE>
    sdk\:cacher {behavior:url(#default#userData);}
    </STYLE>
    <script language="javascript">
    <!--
    function saveSubmit()
    {
    var strValue = "";
    var o =document.getElementsByName("region");
      for(var i = 0;i<o.length;++i)
      {
      if(o[i].checked)
      {
      strValue +=","+o[i].value;//这里是不是覆盖原值了,只有一个值被保留下来
    //javascript我不熟,请指教!!!!
      }
      }
    cachetag.setAttribute("region",strValue);
    cachetag.save("cache");
    }window.onload = function()
    {
    cachetag.load("cache");
    var re = cachetag.getAttribute("region");
     if(re!="")
     {  
        re=re.substring(1,re.length);
    alert(re);
        var region_array=re.split(",");
      var o =document.getElementsByName("region");
    for (var j=0;j<region_array.length;j++)
      {  for(var i = 0;i<o.length;++i)
        {
        if(o[i].value == region_array[j])
        {
      o[i].checked = true;
        }
         }
     }
     }
    }
    //-->
    </script>
    </HEAD>
    <body>
    <form method="post">
    <sdk:cacher id="cachetag"></sdk:cacher>
    <input type="checkbox" name="region" value="beijing">
    <input type="checkbox" name="region" value="shanghai">
    <input type="submit" onclick="saveSubmit()">
    </form>
    </body>
    </HTML>