注册 登录
编程论坛 ASP技术论坛

新手,请教个问题表单

devili 发布于 2008-08-13 12:58, 672 次点击
在表单运用中,单选按钮,选择后将值提交到URL中,每次需要选择并提交两次lic的值才正确.请问是什么原因,怎么解决?

<form id="form1" name="form1" method="post" action="post.asp?lic=<%= request.Form("lic") %>">
  <label>
  <input type="radio" name="lic" value="0" />
  0</label>
  <label>
  <input type="radio" name="lic" value="l" />
  1</label>
  <input type="submit" name="Submit" value="提交" />
  <label>
  </label>
  <label></label>
</form>

[[it] 本帖最后由 devili 于 2008-8-13 13:00 编辑 [/it]]
5 回复
#2
hikor2008-08-13 15:20
lic=<%= request.Form("lic") %> 去掉这个试试看
#3
devili2008-08-20 14:59
没明白楼上的意思.

我试了一下,用POST方式就会出现这种问题,用GET则不会.不过还是没明白产生这种错误的原因.
#4
tianyu1232008-08-20 20:24
<form id="form1" name="form1" method="post" action="post.asp?lic=<%= request.Form("lic") %>">

第一次提交:request.Form("lic") 根本没有获取到值。因为在第一次提交表单前,没有提交任何表单,所以 request.Form("lic") 也无从

获取到值!

第二次提交: request.Form("lic") 获取到了值。因为在第二次提交表单前,已经提交了一次表单,并且有相应的元素,所以 request.Form

("lic") 获取到了值!

[[it] 本帖最后由 tianyu123 于 2008-8-20 20:27 编辑 [/it]]
#5
tianyu1232008-08-20 21:06
这样试试
<script language=javascript>
function check()
{
var lic=document.getElementsByTagName("input");
for(var i= 0; i < lic.length; i++)
{
   if(lic(i).type=="radio")
   {
     if(lic(i).checked==true)
    {
       var lic1=lic(i).value;
    }
   }
}
form1.action="post.asp?lic="+lic1
form1.submit();
}
</script>

<form id="form1" name="form1" method="post">
  <label>
  <input type="radio" name="lic" value="0" />
  0</label>
  <label>
  <input type="radio" name="lic" value="l" />
  1</label>
  <input type="submit" name="Submit" value="提交" onclick="check();" />
  <label>
  </label>
  <label></label>
</form>
#6
anlige2008-08-20 22:42
[bo][un]tianyu123[/un] 在 2008-8-20 20:24 的发言:[/bo]



第一次提交:request.Form("lic") 根本没有获取到值。因为在第一次提交表单前,没有提交任何表单,所以 request.Form("lic") 也无从

获取到值!

第二次提交: request.Form("lic") 获取到了值。因为在第二次 ...

要明白每次提交是提交了什么~~用post的时候
request.form("lic")可以取道值
request.querysting("lic")也可以取值~~
1