Javascript - form submit not working

2019-05-26 04:24发布

this is the code that isn't working:

<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?";

}

I want it to submit when clicking on "button1", using "javascript: donate(paypal)" the submit button works fine.. (it prints "maybe" in the formtesting div but not "did it work?" :/)

7条回答
再贱就再见
2楼-- · 2019-05-26 04:47

For me, this was caused by trying to access elements that don't exist. Even viewing in the developer console, there will be no error log notice, but the code will abort. My code:

function MoveImageUp(id)
{
    document.fms.aid.value= id;
    document.fms.mode.value='up'; // die! the form has no element called aid

    document.fms.submit();
}

Double check all referenced elements.

查看更多
Ridiculous、
3楼-- · 2019-05-26 04:51

Faced the same issue, submit from javascript was not submitting the form. Tried all ways of submitting form from javascript like document.formname.submit() OR document.getElementById("formId").submit(). But these didnt work.

The problem was in my html page, there was another button (not the one I was clicking) and name of that button was "submit". When i changed that name to something else, my form was getting submitted.

查看更多
老娘就宠你
4楼-- · 2019-05-26 05:00

I ran into the issue of myForm.submit() was not submitting the form. Turns out that my problem was that my submit button's id was 'submit'. Once I changed my id to another name, viola, it worked. Hopefully this helps someone else out there who's run into this same variation of this problem.

EDIT: Also make note of MalcomOcean's comment, below, where the name tag can also cause this issue

查看更多
做个烂人
5楼-- · 2019-05-26 05:02

Make sure that you are using getElementById, not getElementByid .

查看更多
姐就是有狂的资本
6楼-- · 2019-05-26 05:03

Use this code it will work

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?";
}

Here paypal is name of the form.

查看更多
闹够了就滚
7楼-- · 2019-05-26 05:07

This works:

<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>
查看更多
登录 后发表回答