这是无效的代码:
<form id="paypal" name="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_parent" />Official website!
<input type="hidden" name="item_name" value="Donation">
<input type="hidden" name="cmd" value="_donations">
<input type="hidden" name="bn" value="PP-DonationsBF">
<input type="hidden" name="currency_code" id="currency_code" value="GBP" >
<input type="hidden" name="business" id="business" value="paypalemail@null.com" >
<a href="javascript: donate(paypal);" class="button1"><span></span><strong>£<input name="amount" type="text" id="ppAmount" style="text-align:center;" value="5" size="2" /> Donate!</strong></a>
<input type="submit">
</form></span>
<div id="formtesting"></div>
<script type="text/javascript">
function donate(paypal) {
document.getElementById("formtesting").innerHTML="maybe...";
document.forms["paypal"].action = "https://www.paypal.com/cgi-bin/webscr";
document.forms["paypal"].submit();
document.getElementById("formtesting").innerHTML="did it work?";
}
我希望它在点击“button1”时提交,使用“javascript:donate(paypal)”提交按钮正常工作.. (它在formtesting div中打印“maybe”但不是“它有用吗?”:/)
答案 0 :(得分:27)
我遇到myForm.submit()
未提交表单的问题。事实证明我的问题是我的提交按钮的id
是'提交'。一旦我将我的身份改为另一个名字,中提琴,它就有效了。希望这有助于其他人遇到这个问题的相同变体。
编辑:另请注意下面的MalcomOcean评论,其中name
标记也会导致此问题
答案 1 :(得分:3)
使用此代码可以使用
function donate() {
document.getElementById("formtesting").innerHTML="maybe...";
document.paypal.action = "https://www.paypal.com/cgi-bin/webscr";
document.paypal.submit();
document.getElementById("formtesting").innerHTML="did it work?";
}
这里paypal是表格的名称。
答案 2 :(得分:1)
面对同样的问题,从javascript提交并未提交表单。试过从javascript中提交表单的所有方法,例如document.formname.submit()或document.getElementById(“formId”)。submit()。但这些都没有用。
问题出在我的html页面上,还有另一个按钮(不是我点击的按钮),该按钮的名称是“提交”。当我将该名称更改为其他内容时,我的表单已提交。
答案 3 :(得分:0)
对我而言,这是因为尝试访问不存在的元素。即使在开发人员控制台中查看,也不会出现错误日志通知,但代码将中止。我的代码:
function MoveImageUp(id)
{
document.fms.aid.value= id;
document.fms.mode.value='up'; // die! the form has no element called aid
document.fms.submit();
}
仔细检查所有引用的元素。
答案 4 :(得分:0)
删除所有“&lt;”形式“&gt;”打开和关闭标签,如果您使用的是document.createElement(“form”);
答案 5 :(得分:-1)
这有效:
<script type="text/javascript">
function donate(paypal) {
document.getElementById("formtesting").innerHTML="maybe...";
document.forms["paypal"].action = "https://www.paypal.com/cgi-bin/webscr";
document.forms["paypal"].submit();
document.getElementById("formtesting").innerHTML="did it work?";
}
</script>
<form id="paypal" name="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_parent" />
Official website!
<input type="hidden" name="item_name" value="Donation">
<input type="hidden" name="cmd" value="_donations">
<input type="hidden" name="bn" value="PP-DonationsBF">
<input type="hidden" name="currency_code" id="currency_code" value="GBP" >
<input type="hidden" name="business" id="business" value="paypalemail@null.com" >
<a href="javascript: donate(paypal); return false" class="button1">
<strong>?<input name="amount" type="text" id="ppAmount" style="text-align:center;" value="5" size="2" /> Donate!</strong>
</a>
<input type="submit">
</form>
<div id="formtesting"></div>
答案 6 :(得分:-4)
确保您使用 getElementById ,而不是 getElementByid 。