我有一个表单,我使用表单外的按钮提交。 以下是我如何使用表单外部的按钮提交表单的代码。下面的代码应该回应页面上的内容。但我不知道为什么我的文字不会回响。
<?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>
答案 0 :(得分:8)
您可以使用jQuery提交功能,如:
$('#buttonId').click(function() {
$('#partForm').submit();
});
基本上,当点击外部按钮时,表格会被提交。
答案 1 :(得分:1)
您的按钮位于表单标记之外。
如果您希望表单标签外的按钮考虑以下示例:
<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);
答案 2 :(得分:1)
POST数组中的值将是已发布元素的名称。我不是100%肯定,但我不认为表单名称将在$ _POST数组中。
您可以使用
检查帖子if (!empty($_POST))
{
}
或者您可以根据FORM中的输入名称检查个别值,例如$ _POST ['sku']
答案 3 :(得分:1)
你的代码运行良好,表单正在提交,但是你在$ _POST ['partForm']中测试了一个错误的值,尝试填充值sku ,,并在你的php测试$ _POST ['sku' ]
答案 4 :(得分:0)
如果表单外有一个按钮,则无法使用该按钮提交带有该按钮的表单。
我看到较低的代码确实看起来正确: 添加项目
我认为这不起作用。你确认表格确实提交了吗?我认为表单名称并不总是在$ _POST数组中传递。更好地测试其中一个元素,或者只是print_r($ _ POST);显示提交的信息。