Как проверить, отправлена ли форма с помощью JavaScript?

У меня есть эта стандартная кнопка отправки, которые отправляют форму как это:

<form method="post" id="form_submit">
...
<input class="button" type="submit" name="Submit" value="Submit">
</form>

И я проверяю, нажата ли кнопка отправки с помощью этого:

if(isset($_POST['Submit'])){
   //update DB
}

Теперь у меня есть отправлять ссылка с помощью jQuery:

<a href="#" onclick="publish(); return false;">Submit</a>

Код JS:

$("#form_submit").submit();

Что является альтернативным путем здесь, чтобы использоваться здесь для if(isset($_POST['Submit'])) так как я отправляю форму с помощью JavaScript?

5
задан Cœur 19 August 2017 в 12:28
поделиться

4 ответа

Если я правильно вас понял, попробуйте следующее:

if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
 // your code.........
}
5
ответ дан 13 December 2019 в 22:02
поделиться

Вы должны добавить скрытый ввод в форму, которая всегда будет отправляться, и проверьте это вместо кнопки (, которая отправляется, только если ее нажимают .. )

4
ответ дан 13 December 2019 в 22:02
поделиться

Если я правильно понял вашу проблему, вы можете просто изменить тип ввода на скрытый.

<form method="post" id="form_submit">
...
<input type="hidden" name="Submit">
</form>

Будет определена переменная $ _ POST ['Submit'].

1
ответ дан 13 December 2019 в 22:02
поделиться

Лучшее решение - «Не делайте этого». Если вы хотите отправить форму, используйте кнопку отправки (не делайте это как побочный эффект при нажатии гиперссылки в верхней части страницы). Любой JavaScript, который вы хотите запустить, может быть обработан в событии формы submit .

Если вы действительно хотите сделать это в качестве побочного эффекта, проверьте наличие любого другого поля, которое, как вы знаете, будет установлено. Вы можете добавить скрытое поле, чтобы убедиться, что будет одно из заданных сочетаний имени / значения, если хотите.

0
ответ дан 13 December 2019 в 22:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: