孟子E章请进!!!!紧急!!!!!!!

mycheng 2003-01-29 11:47:45
<HTML>
<HEAD>
<META NAME="save" CONTENT="history">
<STYLE>
.saveHistory {behavior:url(#default#savehistory);}
</STYLE>
</HEAD>
<BODY>
<INPUT class=saveHistory type=text id=oPersistInput>
</BODY>
</HTML>

history.back()为什么会丢失input数据(当有多个input的时候)
为什么会改变input的name属性???
比如原来有
for i=1 to 2
<input name="<%=i%>11" value="mm">
<input name="<%=i%>21" value="mm">
<input name="<%=i%>31" value="mm">

<input name="<%=i%>11" value="ss">
<input name="<%=i%>21" value="ss">
<input name="<%=i%>31" value="ss">

当此<form>提交给另外一张页面时候,
request("111")的值竟然为空
request("121")的值竟然为空
request("131")的值竟然为空
而request("211")的值为mm,ss
而request("221")的值为mm,ss
而request("231")的值为mm,ss
请问
1。为什么会出现这样的问题?
2。如何解决?
...全文
41 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccton 2003-02-07
  • 打赏
  • 举报
回复
MD,偶自己都晕了。 step1=step2
ccton 2003-02-07
  • 打赏
  • 举报
回复
只有方法,没有结果——不要指望直接的结果。

(可以用框架掌控以下所有的页面,以方便操作)。
step1,写一个函数把原来的全部页面write到一个新窗口,查看其源代码
step2,运行中查看整个HTML或BODY的InnerHTML(outerHTML)
step3,运行中查看Savehistory方式得到的动态整个HTML或BODY的InnerHTML(outerHTML)

泡杯浓茶,喝上两口以后开始比较这三者。

linhaibo 2003-02-07
  • 打赏
  • 举报
回复
为什么不使用 userData Behavior ?
<HTML>
<HEAD>
<STYLE>
.storeuserData {behavior:url(#default#userData);}
</STYLE>
<SCRIPT>
function fnSaveInput(){
var oPersist=oPersistForm.oPersistInput;
oPersist.setAttribute("sPersist",oPersist.value);
oPersist.save("oXMLBranch");
}
function fnLoadInput(){
var oPersist=oPersistForm.oPersistInput;
oPersist.load("oXMLBranch");
oPersist.value=oPersist.getAttribute("sPersist");
}
</SCRIPT>
</HEAD>
<BODY>
<FORM ID="oPersistForm">
<INPUT CLASS="storeuserData" TYPE="text" ID="oPersistInput">
<INPUT TYPE="button" VALUE="Load" onclick="fnLoadInput()">
<INPUT TYPE="button" VALUE="Save" onclick="fnSaveInput()">
</FORM>
</BODY>
</HTML>


来源:http://msdn.microsoft.com/workshop/author/behaviors/reference/behaviors/userdata.asp?frame=true
linhaibo 2003-02-07
  • 打赏
  • 举报
回复
为什么不使用 userData Behavior ?
<HTML>
<HEAD>
<STYLE>
.storeuserData {behavior:url(#default#userData);}
</STYLE>
<SCRIPT>
function fnSaveInput(){
var oPersist=oPersistForm.oPersistInput;
oPersist.setAttribute("sPersist",oPersist.value);
oPersist.save("oXMLBranch");
}
function fnLoadInput(){
var oPersist=oPersistForm.oPersistInput;
oPersist.load("oXMLBranch");
oPersist.value=oPersist.getAttribute("sPersist");
}
</SCRIPT>
</HEAD>
<BODY>
<FORM ID="oPersistForm">
<INPUT CLASS="storeuserData" TYPE="text" ID="oPersistInput">
<INPUT TYPE="button" VALUE="Load" onclick="fnLoadInput()">
<INPUT TYPE="button" VALUE="Save" onclick="fnSaveInput()">
</FORM>
</BODY>
</HTML>
孟子E章 2003-02-07
  • 打赏
  • 举报
回复
你把代码拷贝过去测试,我这里没有问题
mycheng 2003-02-01
  • 打赏
  • 举报
回复

我用了.saveHistory {behavior:url(#default#savehistory);}。
但是没想到用了这个以后history。back()以后虽然能维持住表单数据,但是数据竟然发生了变化,而且从刚才的逗号结果来看,经过调试发现,原来唯一的表单名称竟然变成了两个。(也就是说,history。back()以后有部分表单名称被修改了,因此产生了两个相同名字的表单。所以出现了逗号的情况。
不知道谁知道如何去解决这个问题。也就是如何用history。back()维持原来的数据,和表单与原来的页面一莫一样。
mycheng 2003-01-31
  • 打赏
  • 举报
回复
ie6的,你看一下我的另外一个帖子吧

http://expert.csdn.net/Expert/topic/1383/1383528.xml?temp=1.156253E-02

history。back()以后input的value乱掉,部分name丢失掉,被覆盖
孟子E章 2003-01-30
  • 打赏
  • 举报
回复
<HTML>
<HEAD>
<META NAME="save" CONTENT="history">
<STYLE>
input {behavior:url(#default#savehistory);}
</STYLE>
</HEAD>
<BODY>
<form method=post action="bbb.asp"
<INPUT class=saveHistory type=text id=oPersistInput>
<%
for i=1 to 2
%>
<input name="<%=i%>11" value="mm">
<input name="<%=i%>21" value="mm">
<input name="<%=i%>31" value="mm">

<input name="<%=i%>11" value="ss">
<input name="<%=i%>21" value="ss">
<input name="<%=i%>31" value="ss">
<%
Next
%>
<input type=submit>
</form>
</BODY>
</HTML>

bbb.asp
=============
<%
Response.write request("111") & "<br>"
Response.write request("121") & "<br>"
Response.write request("131") & "<br>"
Response.write request("211") & "<br>"
Response.write request("221") & "<br>"
Response.write request("231") & "<br>"
%>
mycheng 2003-01-30
  • 打赏
  • 举报
回复
你误解我的意思了,应该是下面:
<HTML>
<HEAD>
<META NAME="save" CONTENT="history">
<STYLE>
input {behavior:url(#default#savehistory);}
</STYLE>
</HEAD>
<BODY>
<form method=post action="bbb.asp"
<%
for i=1 to 2
%>
<input name=pic_"<%=i%>11" value="mm" class=saveHistory >
<input name=pic_"<%=i%>21" value="mm" class=saveHistory >
<input name=pic_"<%=i%>31" value="mm" class=saveHistory >

<input name=area_"<%=i%>11" value="ss"class=saveHistory >
<input name=area_"<%=i%>21" value="ss" class=saveHistory >
<input name=area_"<%=i%>31" value="ss" class=saveHistory >
<%
Next
%>
<input type=submit>
</form>
</BODY>
</HTML>

bbb.asp
=============
<%
Response.write request("area_111") & "<br>"
Response.write request("area_121") & "<br>"
Response.write request("area_131") & "<br>"
Response.write request("area_211") & "<br>"
Response.write request("area_221") & "<br>"
Response.write request("area_231") & "<br>"
%>
提交一次后,再调用history.back(),再次提交,看看有什么问题产生?

结果请看http://expert.csdn.net/Expert/topic/1383/1383528.xml?temp=1.156253E-02


孟子E章 2003-01-30
  • 打赏
  • 举报
回复
你的是IE几?
孟子E章 2003-01-30
  • 打赏
  • 举报
回复
没有问题啊
<HEAD>
<META NAME="save" CONTENT="history">
<STYLE>
.saveHistory {behavior:url(#default#savehistory);}
</STYLE>
</HEAD>
<BODY>
<form method=post action="bbb.asp">
<%
for i=1 to 2
%>
<input name=pic_<%=i%>11 value="mm" class="saveHistory">
<input name=pic_<%=i%>21 value="mm" class="saveHistory">
<input name=pic_<%=i%>31 value="mm" class="saveHistory">

<input name=area_<%=i%>11 value="ss" class="saveHistory">
<input name=area_<%=i%>21 value="ss" class="saveHistory">
<input name=area_<%=i%>31 value="ss" class="saveHistory">
<%
Next
%>
<input type=submit>
</form>
</BODY>
</HTML>

bbb.asp
===============
<%
Response.write request("area_111") & "<br>"
Response.write request("area_121") & "<br>"
Response.write request("area_131") & "<br>"
Response.write request("area_211") & "<br>"
Response.write request("area_221") & "<br>"
Response.write request("area_231") & "<br>"
%>

结果始终是:

ss<br>ss<br>ss<br>ss<br>ss<br>ss<br>
孟子E章 2003-01-29
  • 打赏
  • 举报
回复
没有问题呀。你的循环有问题吧
mycheng 2003-01-29
  • 打赏
  • 举报
回复
忘记了说,直接提交当然是没有问题。
history.back()后提交表单出现上面说的问题!

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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