后退按钮无法在Internet Explorer中工作,在mozilla firefox和google chrome中运行良好

时间:2010-09-23 17:21:58

标签: javascript internet-explorer jsp struts

我有一个表单页面,我在页面的顶部和底部都有一个后退按钮和一个打印按钮(用javascript编码)。页面底部的后退按钮在Internet Explorer中不起作用,而顶部按钮和两个打印按钮都工作正常。后退按钮的代码块相同。此外,所有按钮在Mozilla Firefox和Google Chrome中都运行良好。作为参考,后退按钮的代码就像这样

<html:submit onclick="javascript:document.forms[0].action.value='back';" >
<fmt:message key="form.button.back"/>
</html:submit>

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:0)

Document.forms不再是W3C标准。

请参阅w3c document.forms[0].fieldname equivalent

同时确保您的输入字段具有正确的类型和名称字段。

“换句话说,没有像document.forms [0] .action.value这样的属性,除非你的页面上有一个ID为”action“的元素,而且正如Eric发布的那样,这不是一个好主意。 “

请参阅http://forums.asp.net/p/1354778/2775719.aspx

无论如何,我认为这不是问题所在。如果我尝试重现场景,我的浏览器也没有后退动作。这是因为如果您更改输入表单的值,它只会将按钮实际显示在浏览器中的文本更改为字符串'back'。

如果你真的希望浏览器在浏览历史记录中浏览,你必须像这样编码:

document.forms[0].myID.onclick = history.back();

在提交类型输入表单的“action”属性中,您通常会定义一个服务器端脚本,该脚本将接收用户填写的表单的文本字段的值。

<form>
    <input id="myID" name="myNam" action="serve.php" value="myVal" type="submit">
</form>