有没有办法告诉PHP哪个表单已提交?
表格1
<form id="factory" action="bullets.php" method="post">
<input type="submit" value="Kopen">
</form>
并形成2
<form id="localFactory" action="bullets.php" method="post">
<input type="submit" value="Kopen">
</form>
这些表格在一页上。
我的javascript代码:
var url;
$('form').submit(function (event) {
event.preventDefault();
url = $(this).attr('action');
location.hash = url;
$.ajax ({
url: url,
method: 'POST',
data: $(this).serialize()
}).done(function (html) {
$('#content').html(html);
});
});
如果我得到一个输入,我会得到一个$ _POST变量。
所以我需要知道上面提到了哪些表格?
谢谢..
答案 0 :(得分:3)
这将有效:
var url;
$('form').submit(function (event) {
event.preventDefault();
url = $(this).attr('action');
location.hash = url;
var data = $(this).serialize();
data += "&formId=" + encodeURIComponent($(this).attr('id')); // if you have data in the form.
// do this if you don`t have data in the form:
// data = {formId: $(this).attr('id')};
$.ajax ({
url: url,
method: 'POST',
data: data
}).done(function (html) {
$('#content').html(html);
});
});
然后,您可以从$_POST['formId']
答案 1 :(得分:1)
创建一个名称为
的提交按钮<form id="factory" action="bullets.php" method="post">
<button type="submit" value="factory" name="submit">Kopen</button>
</form>
此值已发布:
if (!empty($_POST['submit']) && $_POST['submit'] == 'factory') {
}
答案 2 :(得分:0)
通过命名空间输入字段,您可以轻松识别哪个字段来自哪个表单,以及扩展哪个表单已提交。
<form id="factory" action="bullets.php" method="post">
<input type="text" name="form_1[my_input]">
<input type="submit" value="Kopen">
</form>
<form id="localFactory" action="bullets.php" method="post">
<input type="text" name="form_2[my_input]">
<input type="submit" value="Kopen">
</form>
然后它就像:
一样简单if (isset($_POST['form_1'])) {
// This post variable is an array of each field.
}
答案 3 :(得分:0)
如果您想要一个仅限HTML的解决方案,您可以添加一个表单ID为
的隐藏输入<form id="factory" action="bullets.php" method="post">
<input type="hidden" value="factory" name="formId"/>
<input type="submit" value="Kopen">
</form>
然后用以下方法测试:
if (isset($_POST['formId']) && $_POST['formId'] == 'factory') {
//Do what you want here
}