<form action="here.php" method="POST">
<input type="text" name="text">
<div id="one">
<input type="hidden" name="aaa" value="one">
<input type="submit" value="Send">
</div>
<div id="two">
<input type="hidden" name="aaa" value="two">
<input type="submit" value="Send">
</div>
</form>
现在,如果我单击发送div ONE 或div TWO,我总是在 $_POST['aaa'] = 'two';
是否可以制作一个表单,其中两个提交具有不同值的表单?
如果我点击div one 提交,我想显示 $_POST['aaa'] = '一',如果我点击div 2 提交,我希望收到 $_POST['aaa'] = 'two'。
我该怎么做?
我可以用于这个PHP和jQuery。
编辑:我不想创建两个表单 - 我不想多次显示两个<input type="text" name="text">
编辑:也许我可以改为按钮提交? 但是如何?
似乎您真正想做的是在每个按钮中都有一个值,例如:
<form action="demo_form.asp" method="get">
Choose your favorite subject:
<button name="subject" type="submit" value="fav_HTML">HTML</button>
<button name="subject" type="submit" value="fav_CSS">CSS</button>
</form>
您需要
两种不同的形式:
<div id="one">
<form ...>
<input type="hidden" name="aaa" value="one">
<input type="submit" value="Send">
</form>
</div>
<div id="two">
<form ...>
<input ...>
<input ...>
</form>
</div>
标准做法是,当两个字段具有完全相同的name
时,仅使用表单中遇到的 LAST 值并提交该值。
PHP 确实有一个特殊情况的符号 ( name="aaa[]"
( 允许提交多个具有相同名称的值,但这在这里对您没有帮助,因为这将提交所有aaa
值,而不仅仅是最接近提交按钮的值。
网页表单:
<form ...>
<input type="text" name="textfield">
<div id="one">
<input type="hidden" name="one_data" value="aaa" />
<input type="submit" name="submit_one" value="Submit" />
</div>
<div id="two">
<input type="hidden" name="two_data" value="bbb" />
<input type="submit" name="submit_two" value="Submit" />
</div>
</form>
服务器端:
if (isset($_POST['submit_two'])) {
$data = $_POST['two_data'];
} else if (isset($_POST['submit_one'])) {
$data = $_POST['one_data'];
} else {
die("Invalid submission");
}
您可以显示包含两个选项和一个提交按钮的单选列表,而不是显示两个提交按钮。
试试这个:
在 HTML 中-
<input id="PreviousButton" value="Previous" type="submit" />
<input id="NextButton" value="Next" type="submit" />
<input id="Button" name="btnSubmit" type="hidden" />
在乔厄里-
$("#PreviousButton").click(function () {
$("#Button").val("Previous");
});
$("#NextButton").click(function () {
$("#Button").val("Next");
});
然后您可以在表单中看到结果 - "按钮"包含的内容。