一个asp的基础问题??

蝈蝈俊 2000-03-23 09:35:00
如下函数clickon(); 当document.textform1.submit()执行后,应用程序是处理asptext2.asp 还时处理下一句document.textform2.submit()????
为何提交后只显示input2的内容????

asptext.asp
<script language="javascript">
<!--
function clickon()
{
document.textform1.submit();
document.textform2.submit();
}
-->
</script>
<HTML>
<BODY>
<form name="textform1" action ="asptext2.asp" method="post">
<input type ="text" name="input1" value="aaaa">
</form>
<form name = "textform2" action="asptext2.asp" method="post">
<input type="text" name="input2" value="bbbb">
</form>
<input type="button" value="dddddd" onclick="javascript:clickon()">
</BODY>
</HTML>

asptext2.asp
<HTML>
<BODY>
<%
if trim(Request.Form("input1")) <> "" then
session("aa") =Request.Form("input1")
end if
if trim(Request.Form("input2")) <> "" then
Response.Write session("aa")
Response.Write Request.Form("input2")
end if
%>
</BODY>
</HTML>
...全文
203 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
oscar_z 2000-03-29
  • 打赏
  • 举报
回复
没有完全弄懂你的意思,按照你的程序,浏览器会先后提交两个窗体,既发出两个HTTP请求保文,但是第二个保文发出后系统会自动断开第一个请求,所以你在浏览器上才会只看到form2.input2的内容。当你submit一个窗体时,你实际上是请求更新当前window/frame/div的内容,从逻辑上说一个window/...只有一个document(即从server上得到的HTML文档)。所以,即使你更新了两次,第二次更新的结果也会覆盖第一次的。你得到的结果应该与仅提交form2时是一样的。此事与session无关!
popoli 2000-03-28
  • 打赏
  • 举报
回复
其实当每新打开或连接一页时,session都重新分配一个sessionID,你把sessionID取出来,传给asptext2.asp,再取同一个sessionID的session值试试.
popoli 2000-03-28
  • 打赏
  • 举报
回复
其实当每新打开或连接一页时,session都重新分配一个sessionID
zy 2000-03-28
  • 打赏
  • 举报
回复
asptext.asp
<script language="javascript">
<!--
function clickon()
{
document.textform2.submit();
}
-->
</script>
<HTML>
<BODY>
<form name="textform1" action ="asptext2.asp" method="post">
<input type ="text" name="input1" value="aaaa">
</form>
<form name = "textform2" action="asptext2.asp" method="post">
<input type="text" name="input2" value="bbbb">
</form>
<input type="button" value="dddddd" onclick="javascript:clickon()">
</BODY>
</HTML>
你的asptext2.asp不变。
实际上只是删了 document.textform1.submit();
别觉得奇怪,试运行一下,就知道这是不是你想要的结果了。
maneagle 2000-03-23
  • 打赏
  • 举报
回复
首先执行asptext2.asp ,返回后又执行asptext2.asp

屏幕刷新,所以只有input2
蝈蝈俊 2000-03-23
  • 打赏
  • 举报
回复
我的计算机肯定接受Cookies,
程序这么麻烦是为了测试两个窗体提交时的执行顺序.(故意这样作的,否则不会给150分)

zy 2000-03-23
  • 打赏
  • 举报
回复
只有浏览器“接受Cookies”时,session才起作用。
程序根本不用那么麻烦
asptext.asp
<HTML>
<BODY>
<form name="textform1" action ="asptext2.asp" method="post">
<input type ="text" name="input1" value="aaaa">
<input type="text" name="input2" value="bbbb">
</form>
</BODY>
</HTML>

asptext2.asp
<HTML>
<BODY>
<%
if trim(Request.Form("input1")) <> "" and trim(Request.Form("input2")) <> "" then
Response.Write Request.Form("input1")
Response.Write Request.Form("input2")
end if
%>
</BODY>
</HTML>
sunsetyang 2000-03-23
  • 打赏
  • 举报
回复
在asp中有生存期这一说吗?如果有的话,你的问题出在生存期上。你可以试一下用外部文件的方法来纪录提交处理情况。
蝈蝈俊 2000-03-23
  • 打赏
  • 举报
回复
那为何我用session记录的input1的值不能显示?????

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧