Goulash
Goulash

Reputation: 3838

Javascript submit() doesn't trigger form submission

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="[email protected]" >

    <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>

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

</script>

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?" :/)

Upvotes: 6

Views: 59924

Answers (5)

JonesJr876
JonesJr876

Reputation: 51

Remove all "<" form ">" open and close tags and if you are using document.createElement("form");

Upvotes: 0

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.

Upvotes: 0

costr
costr

Reputation: 664

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

Upvotes: 39

nshweta
nshweta

Reputation: 509

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.

Upvotes: 3

Gaurav Agrawal
Gaurav Agrawal

Reputation: 4431

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.

Upvotes: 5

Related Questions