检查单击了哪个按钮

时间:2010-08-31 10:31:31

标签: php javascript html forms

我有一个PHP生成的表单,其中包含一个项目列表,每个项目旁边都有一个按钮,上面写着“删除它”,它输出类似于下面的内容:

Item A - [Remove This]
Item B - [Remove This]
...

我希望能够单击“删除此项”,它将检测它是哪个项目,然后从数据库中删除它。到目前为止,这是我的代码:

selectPlaces.php

<?php
include 'data.php';

mysql_connect($host, $user, $pass) or die ("Wrong Information");

mysql_select_db($db) or die("Wrong Database");

$result = mysql_query("SELECT * FROM reseller_addresses") or die ("Broken Query");
while($row = mysql_fetch_array($result)){
    $placeName = stripslashes($row['b_name']);
    $placeCode = stripslashes($row['b_code']);
    $placeTown = stripslashes($row['b_town']);
    $outputPlaces .= "<strong>$letter:</strong> $placeName, $placeTown, $placeCode <input type=\"button\" onclick=\"removePlace()\" value=\"Remove This\" /><br />";
}

mysql_close();
?>

加上我的admin.php

        <div id="content" style="display:none">
        Remove a Place<br><br>
        <?php include 'selectPlaces.php'; echo $outputPlaces; ?> 
        </div>

我知道我需要添加一些javascript来检测单击了哪个按钮,但我似乎无法使其正常工作。我尝试通过在函数removePlace(placeID)中传递一个变量来修改onclick =“removePlace()”,但是我是JavaScript的新手,我不知道如何在removePlace函数中接收它。 / p>

2 个答案:

答案 0 :(得分:3)

您不需要JavaScript。尝试运行此示例:

<?php var_dump($_POST); ?>
<form action="post.php" method="post">
    <p>
        <input type="submit" value="a" name="action" />
        <input type="submit" value="b" name="action" />
    </p>
</form>

您会看到$_POST['action']取决于按下了哪个按钮。对于您的示例,您只需设置值以标识需要删除的项目。使用<button>元素可能很有用:<button name="delete" type="submit" value="12345">delete item 12345</button>。在提交时,它将显示为$_POST['delete'],其值为12345。

答案 1 :(得分:3)

没有JavaScript,这似乎更容易。对于每个条目而不是仅生成一个按钮,生成一个表单,该表单发布到执行删除的PHP脚本。

<form action="deletePlace.php?id=<?php echo $idOfThePlace?>">
<input type="submit" value="Remove This" />
</form>

$idOfThePlace将是您用来标识数据行的ID。