一个比较麻烦的问题!!!!!!!!!!!!!!!!!!!

11223344 2001-12-26 02:06:12
当用javascript在当前页面上动态修改了某个输入框的属性,如:
设置txt1.disabled=true,
当按了后退按钮,然后前进到当前画面时,前面所做的操作就会失效!请问如何解决这个问题? 十分感谢
...全文
72 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
abent 2001-12-29
  • 打赏
  • 举报
回复
userdata
vxhelp 2001-12-28
  • 打赏
  • 举报
回复
标记一下
mosane 2001-12-28
  • 打赏
  • 举报
回复
用了cookies 可又另当别论了
blues-star 2001-12-28
  • 打赏
  • 举报
回复
cookies
weidegong 2001-12-28
  • 打赏
  • 举报
回复
可以用JavaScirpt将修改后的信息写入Cookie,并且在刷新页面(也就是打开页面时,首先读取cookie),就可以解决这个问题了。转贴一个帖子吧:

回复人: karma(无为) (2001-11-9 22:43:37) 得100分
1. where did you get the 几个选项 from? just fill the 下拉菜单 like you did before when 刷新页面

2. use cookies:

<HTML>
<HEAD>
<SCRIPT LANGUAGE="JAVASCRIPT">
function SetCookie(sName, sValue)
{
document.cookie = sName + "=" + escape(sValue) + ";";
}

//function from MSDN online documentation
function GetCookie(sName)
{
// cookies are separated by semicolons
var aCookie = document.cookie.split("; ");
for (var i=0; i < aCookie.length; i++)
{
// a name/value pair (a crumb) is separated by an equal sign
var aCrumb = aCookie[i].split("=");
if (sName == aCrumb[0])
return unescape(aCrumb[1]);
}

// a cookie with the requested name does not exist
return null;
}
</SCRIPT>
<SCRIPT LANGUAGE="JAVASCRIPT">
var sCookieName = "options";
var sOptionSeparator = ";"
var sValueSeparator = "|"

function LoadCookies()
{
var sOptions = GetCookie(sCookieName);

if (sOptions && sOptions != "")
{
var OptionList = sOptions.split(sOptionSeparator);
for (var i=0; i < OptionList.length; i++)
{
var pair = OptionList[i].split(sValueSeparator);
var opt = new Option(pair[0],pair[1]);
document.frmtest.mysel.options.add(opt);
}

}
}

function SaveCookies()
{
var optionList = document.frmtest.mysel.options;
if (optionList.length > 0)
{
var s = "";
for (var i=0; i < optionList.length;i++)
s += sOptionSeparator + optionList[i].text + sValueSeparator + optionList[i].value;

if (s !="")
{
s = s.substring(1);
SetCookie(sCookieName,s);
}
}
}

function CreateOptions()
{
for (var i=0; i < 3;i++)
{
var opt = new Option(i,i*i);
document.frmtest.mysel.options.add(opt);
}

}
</SCRIPT>
</HEAD>
<BODY onload="LoadCookies()" onunload="SaveCookies()">
<form name="frmtest">
<select name="mysel">
</select>
</form>
<input type="button" value="Create" onclick="CreateOptions()">
<input type="button" value="Refresh" onclick="location.reload(true)">
</BODY>
</HTML>
-----------
Opera浏览器中效果不佳--其实是不管用了,而且对于Cookie我也不怎么喜欢
mosane 2001-12-27
  • 打赏
  • 举报
回复
用javascript可以解决么?

后退再前进到本页已经相当于一定程度上重新打开了本页,(表单的填写内容例外)
当然所有的程序都重新运行了。
Nizvoo 2001-12-27
  • 打赏
  • 举报
回复
做个环境变量。。呵呵用服务器脚本
vincentmax 2001-12-26
  • 打赏
  • 举报
回复
??
怎么会?

你的代码是怎么写的?

还有你的javascript的位置在什么地方?如果不是在<head></head>里面的话,它就不会在装入页面的时候执行了啦

87,902

社区成员

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

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