Firefox中的表单“未定义”错误

时间:2010-09-29 08:51:33

标签: javascript forms

我有这段代码,就说它是a.html

<form name="frmSubmit" id="frmSubmit" method="post">
<input type="hidden" name="hdnName" value="user name" />
</form>

<script>
// 1 : start
document.frmSubmit.action = 'b.html';
document.frmSubmit.submit();
// 1 : end

// 2 : start
document.getElementById("frmSubmit").action = 'b.html';
document.getElementById("frmSubmit").submit();
// 2 : end
</script>

1 2 都在IE(IE 8)中工作,但在FF(3.6.10)中不工作。 Firebug给了我以下错误:

  

document.frmSubmit未定义

我该如何解决?

4 个答案:

答案 0 :(得分:1)

<html>
<head>

<script>
function setup(){
// 1 : start
document.frmSubmit.action = 'b.html';
document.frmSubmit.submit();
// 1 : end

// 2 : start
document.getElementById("frmSubmit").action = 'b.html';
document.getElementById("frmSubmit").submit();
// 2 : end
}
</script>
</head>
<body onload="setup()">
<form name="frmSubmit" id="frmSubmit" method="post">
<input type="hidden" name="hdnName" value="user name" />
</form>
</body>
</html>

答案 1 :(得分:0)

通常,当我要编写那些workarrounds时,为了避免错误停止执行,我用try&amp; cathc包围冲突的块。 我建议使用try / catch bloks包围 1 2 ,因此它存在错误,它不会暂停脚本执行。

答案 2 :(得分:0)

我遇到了同样的问题,并设法通过以下方式让它发挥作用:

  • 在表单上放置一个图像按钮或任何其他类型的回发对象,显示您想要的内容(“立即购买!”)
  • 在点击时有代码隐藏的事件。
  • 点击该活动后,请执行response.redirect指向您要创建的新页面(postpaypal.aspx)。
  • 创建新文件(postpaypal.aspx),它不使用母版页,拥有自己的表格和标准的paypal代码和操作。

这对我很有效,而且简单而有效。

答案 3 :(得分:0)

请检查您是否给了, input type =“submit”name =“submit”value =“Proceed”

而不是它,名称应该是这样的 input type =“submit”name =“sub”value =“Proceed”

注意:名称不应该是“提交”