代码之家  ›  专栏  ›  技术社区  ›  Dan Hanly

检查单击了哪个按钮

  •  1
  • Dan Hanly  · 技术社区  · 14 年前

    我有一个PHP生成的表单,它由一个项目列表组成,每个项目旁边都有一个按钮,上面写着“Remove This”,它的输出类似于以下内容:

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

    <?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();
    ?>
    

    再加上我的管理.php

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

    我知道我需要添加一些javascript来检测哪个按钮被点击,但我似乎无法让它工作。我试图修改onclick=“removePlace()”,可能是通过在函数removePlace(placeID)中传递一个变量或者类似的东西,但是我对JavaScript是新手,我不知道如何在removePlace函数中接收这个。

    2 回复  |  直到 14 年前
        1
  •  3
  •   RoToRa    14 年前

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

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

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

        2
  •  3
  •   slikts    14 年前

    你不需要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']