<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或div TWO,我总是在 $ _ POST ['aaa'] ='two';
是否可以制作一个表格,其中两个提交不同的值?
如果我点击div一个提交我想要显示 $ _ POST ['aaa'] ='one'如果我点击div 2提交我想收到 $ _ POST [ 'aaa'] ='两个'。
我怎么做到的?
我可以使用这个PHP和jQuery。
编辑:
我不想创建两个表单 - 我不想多次显示<input type="text" name="text">
答案 0 :(得分:13)
您实际想要做的事情似乎是每个按钮都有一个值,请参阅this,例如:
<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>
答案 1 :(得分:4)
您需要两种不同的形式:
<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
时,只使用表单中遇到的最后一个值并提交。
PHP确实有一个特殊情况符号(name="aaa[]"
),允许提交多个具有相同名称的值,但这对您没有帮助,因为它提交了所有aaa
值,而不仅仅是最接近提交按钮的值。
HTML表单:
<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");
}
答案 2 :(得分:3)
您可以显示包含两个选项和一个提交按钮的广播列表,而不是显示两个提交按钮。
答案 3 :(得分:3)
试试这个:
在html中 -
<input id="PreviousButton" value="Previous" type="submit" />
<input id="NextButton" value="Next" type="submit" />
<input id="Button" name="btnSubmit" type="hidden" />
在jOuery -
$("#PreviousButton").click(function () {
$("#Button").val("Previous");
});
$("#NextButton").click(function () {
$("#Button").val("Next");
});
然后你可以在表格结果中看到 - “按钮”包含的内容。