У меня есть форма, которую я использую кнопку вне формы для отправки. Ниже приведен код о том, как отправить форму с помощью кнопки извне формы. Код ниже должен повторить что-то на странице. Но я не знаю, почему мой текст не будет эхом.
<?php if(isset($_POST['partForm'])){ echo "Test1"; } if(isset($_POST['submitForm'])){ echo "Test2"; } ?> <html> <body> <div> <h2>Part</h2> <form method="post" enctype="multipart/form-data" name="partForm" id="partForm" action="submit_form_button_outside.php"> SKU#: <input type="text" name="sku"><br> Part: <select name="categories"> <option value="volvo">Volvo</option> <option value="saab">Saab</option> <option value="fiat">Fiat</option> <option value="audi">Audi</option> </select><br> Description: <input type="text" name="part"><br> Quantity: <input type="text" name="part"><br> Price: <input type="text" name="part"><br> Select images: <input type="file" name="img" multiple><input type="submit" value="Upload"> </form> </div> <div> <button type="submit" form="partForm" value="submitForm">Add Item</button> <!--<button type="button" onclick="document.getElementById('partForm').submit();">Add Item</button>--> <!--<button type="button" onclick="document.forms['partForm'].submit(); return false">Add Item</button> --> </div> </body> </html>
Значения, которые будут в массиве POST, будут именами опубликованных элементов. Я не уверен на 100%, но я не думаю, что имя формы будет в массиве $ _POST.
Вы можете проверить сообщение, используя
if (!empty($_POST)) { }
или вы можете проверить отдельные значения, такие как $ _POST ['sku'] на основе входных имен в FORM
Вы можете использовать функцию отправки jQuery, например:
$('#buttonId').click(function() { $('#partForm').submit(); });
В основном, когда нажата внешняя кнопка, форма отправляется.
Ваша кнопка находится вне тега формы.
Если вы хотите, чтобы ваша кнопка вне тегов формы рассмотрела следующий пример:
<form action="demo_form.php" method="get" id="form1"> First name: <input type="text" name="fname"><br> Last name: <input type="text" name="lname"><br> </form> <button type="submit" form="form1" value="Submit">Submit</button>
Обратите внимание на атрибут формы на кнопке.
Следующее, что нужно проверить, – это если заданные переменные установлены:
print_r($_POST);
ваш код работает хорошо, и форма отправляется, но вы тестируете неправильные значения в $ _POST ['partForm'], попробуйте заполнить значение sku ,, а в ur php test $ _POST ['sku']
Если у вас есть кнопка вне формы, вы не сможете отправить форму с помощью этой кнопки без использования javascript.
Код, который я вижу ниже, выглядит примерно так: Добавить элемент
Я предполагаю, что это не сработало. Вы подтвердили, что форма подала? Я думаю, что имя формы не всегда передается в массиве $ _POST. Лучше проверить один из элементов или просто print_r ($ _ POST); для показа представленной информации.