2011-04-12 117 views
0

我从StackOverflow上的另一篇文章中看到了这个快速脚本,但它似乎不适用于我的表单。它只是抛出一个错误,说'对象预期'。任何人都可以帮助我解决它。Javascript自动表单提交

<html> 
<head></head> 
<body onLoad="document.forms[0].submit()"> 
    <form name="EPDQForm" method="post" action="mypage.aspx" > 
     <input name="item" type="hidden" value="data"> 
    </form> 
</body> 
</html> 

编辑:

这是确切的页面代码(我删除了其中大部分是在这里显示的):

<html><head></head> 
<body onLoad="document.forms[0].submit()"> 
<form id="myform" name="myform" method="post" action="https://secure2.mde.epdq.co.uk/cgi-bin/CcxBarclaysEpdq.e" > 
<input name="epdqdata" type="hidden" value="972"> 
<input name="returnurl" type="hidden" value="http://www.xxxx.co.uk/Secure/EPDQReturn.aspx"> 
<input name="merchantdisplayname" type="hidden" value="xxxxxx"> 
<input name="submit" type="hidden" value="purchase"> 
<input name="shipping" type="hidden" value="0.00"> 
<input name="baddr1" type="hidden" value="152 Smith St"> 
<input name="baddr2" type="hidden" value=""> 
<input name="bcity" type="hidden" value="Manchester"> 
<input name="bcountry" type="hidden" value="UK"> 
<input name="bpostalcode" type="hidden" value="M4 6DH"> 
<input name="email" type="hidden" value="[email protected]"> 
<input name="saddr1" type="hidden" value="152 Smith St"> 
<input name="scity" type="hidden" value="Manchester"> 
<input name="scountyprovince" type="hidden" value="Alderney"> 
<input name="scountry" type="hidden" value="UK"> 
<input name="spostalcode" type="hidden" value="M4 5GG"> 
</form></body></html> 

这段代码显示了错误。我不明白为什么。在Firefox它说:

document.forms[0].submit is not a function 

回答

0

好了,问题是在这个部分:输入名称=“提交‘类型=’隐藏”值=‘购买’。

提交输入与表单函数具有相同的名称。 如果您用其他名称(submit1作为示例)替换名称'submit',它应该作为魅力工作。 :-)

祝你好运。

+0

我已更新该问题以显示我的实际完整代码。此代码重现错误。 – 2011-04-12 12:52:24

+0

好的,问题出在这个部分:。提交输入与表单功能具有相同的名称。如果用其他名称替换名称提交(以submit1为例),它应该作为魅力工作。 – KShadows 2011-04-12 16:14:34

1

如果您从开始的<body>标记中删除onload属性,并将此代码放在关闭</body>标记之前,会发生什么情况?

<script> 
    var frm = document.getElementById('myform'); 
    if (frm) { 
     frm.submit(); 
    } 
</script> 
+0

是的,脚本在HTML完全加载之前正在执行。 – 2011-04-12 13:11:47

+0

如果我们需要沿着表单发送cookie以使其正常工作,该怎么办? – confusedMind 2014-08-16 09:43:53