Javascript - форма отправки не работает - PullRequest
2 голосов
/ 12 марта 2012

это код, который не работает:

<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)», кнопка «отправить» работает нормально. (в div для тестирования формы выводится «возможно», а не «работает ли это?»: /)

Ответы [ 7 ]

27 голосов
/ 22 июня 2013

Я столкнулся с проблемой myForm.submit() не отправлял форму. Оказывается, моя проблема заключалась в том, что моя кнопка «Отправить» id была «отправить». Как только я изменил свой идентификатор на другое имя, альт, это сработало. Надеюсь, это поможет кому-то еще, кто столкнулся с той же самой вариацией этой проблемы.

РЕДАКТИРОВАТЬ: также обратите внимание на комментарий MalcomOcean ниже, где тег name может также вызвать эту проблему

3 голосов
/ 12 марта 2012

Используйте этот код, он будет работать

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 это имя формы.

1 голос
/ 08 мая 2015

Столкнулся с той же проблемой, отправить из JavaScript не отправлял форму. Опробовал все способы отправки формы из javascript, например document.formname.submit () ИЛИ document.getElementById ("formId"). Submit (). Но это не сработало.

Проблема была в моей html-странице, там была другая кнопка (не та, на которую я нажимал), и название этой кнопки было «отправить». Когда я изменил это имя на другое, моя форма была отправлена.

0 голосов
/ 12 октября 2017

Удалите все теги "<" form ">" открывать и закрывать, и если вы используете document.createElement ("form");

0 голосов
/ 15 мая 2017

Для меня это было вызвано попыткой доступа к элементам, которые не существуют. Даже при просмотре в консоли разработчика не будет уведомлений об ошибках, но код будет прерван. Мой код:

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

    document.fms.submit();
}

Дважды проверьте все ссылочные элементы.

0 голосов
/ 11 января 2016

Убедитесь, что вы используете getElementById , а не getElementByid .

0 голосов
/ 12 марта 2012

Это работает:

<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...