window.history 返回 JS事件

aywan 2014-09-17 01:44:30

<Script Language=JavaScript>
function doChange(objText, objDrop){
if (!objDrop) return;
var str = objText.value;
var arr = str.split("|");
objDrop.length=0;
for (var i=0; i<arr.length; i++){
objDrop.options[i] = new Option(arr[i], arr[i]);
}
}
</Script>
<form name="form1" id="form1" method="post" action="">
<textarea name="nr" id="nr" class="srk" style="display:none"></textarea><IFRAME ID="eWebEditor1" SRC="Editorelsr/ewebeditor.htm?id=nr&style=blue&savepathfilename=ycimg" FRAMEBORDER="0" SCROLLING="no" WIDTH="100%" HEIGHT="350"></IFRAME>
<input type="hidden" id=ycimg onchange="doChange(this,zsimg)" value="<%=ycimg%>"><select id=zsimg></select>
</form >


上面代码是 eWebEditor 编辑器 读取上传地址的代码

上传后 savepathfilename=ycimg 赋值输入框 ycimg 然后通过JS onchange="doChange(this,zsimg)" 生成 id=zsimg下拉列表

===================================================================================

问题 我提交后如果有错误选项 我会使用<script language=javascript>{window.alert('有空选项!');window.history.go(-1);}</script> 返回让用户重新输入

我执行 window.history.go(-1) 后 原先的下拉列表就没有了值 无法重新加载JS

返回后 ycimg 值一直是存在的 我可以通过再设置一个按钮重新读取下拉列表 <input type="button" value="读取" name="dq" onclick="doChange(ycimg,zsimg)"> 没有问题 列表会重新读取

请问 有没有办法 不使用按钮 在window.history.go(-1) 后 自动执行 doChange(ycimg,zsimg)

不好意思分不多了 请高手帮忙 因为每次提示错误信息 都要重新按一下按钮才能读取太麻烦了,谢谢!
...全文
310 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
aywan 2014-09-17
  • 打赏
  • 举报
回复
能给段代码嘛,谢谢!
kinger906 2014-09-17
  • 打赏
  • 举报
回复
将触发的关键值放在url中,例如a.aspx?sValue=值 如果错误时,返回到该url,取得该值,再绑定即可
张运领 2014-09-17
  • 打赏
  • 举报
回复
在js初始化的时候,执行一下呗。 在最初把需要的数据保存到本地存储,或者cookie中 当再次返回这个页面时,去取这个保存的值,如果有这个值,则直接执行一段js把它加载过去 大概就是这样的逻辑吧。

87,907

社区成员

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

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