仅在单击特定按钮时提交数据

时间:2014-09-11 10:06:06

标签: php html

我有两个textareas,每个都有自己的提交按钮,如下所示:

<textarea style="width: 200px; height: 22px; resize: none" type="text" name="housetypeData"></textarea> 
<input type="submit" name="newHousetype" value="New house"></input>

<textarea style="width: 200px; height: 22px; resize: none" type="text" name="architectData"></textarea> 
<input type="submit" name="newArchitect" value="New architect"></input>

和php根据发布的数据做出响应:

if (!empty($_POST['housetypeData'])) {

    echo 'new housetype';
}
elseif (!empty($_POST['architectData'])) {

    echo 'new architect';
}

问题是无论我在哪个字段输入文本,两个按钮都会提交数据。如何使它只有名为“newHousetype”的按钮提交字段“housetypeData”的数据和其他两个相同的数据?

3 个答案:

答案 0 :(得分:1)

您同时在同一表单中提交按钮。他们当然会提交相同的内容。尝试使用两种不同的形式。

<form action="test4.php" method="POST">
    <textarea style="width: 200px; height: 22px; resize: none" type="text" name="housetypeData"></textarea> 
    <input type="submit" name="newHousetype" value="New house"></input>
</form>
<form action="test4.php" method="POST">
    <textarea style="width: 200px; height: 22px; resize: none" type="text" name="architectData"></textarea> 
    <input type="submit" name="newArchitect" value="New architect"></input>
</form>

试试这个......

答案 1 :(得分:1)

你需要两个<form>

答案 2 :(得分:0)

如果你不想使用2个表格,你应该使用一些javascript。

在两个提交按钮上放置一个onclick事件监听器。

// U'll need to add an id to you're button 
$('#newHousetype').click(function(ev) {
    ev.preventDefault(); // to stop the form from submitting
    $("#newArchitect").remove(); // Remove the other textarea
    $('#myForm').submit(); // Submit the form
});