【问题标题】:How to check which button have been submitted如何检查已提交的按钮
【发布时间】:2014-12-08 02:44:35
【问题描述】:

我有一个表格,像这样:

echo '<table align=center border=1>';
echo '<form method="post">';
echo '<tr>';
echo '<th>Lista Echipamente</th>';
echo '<th>Actiune</th>';
echo '</tr>';
while($row=mysql_fetch_array($sql)){
echo '<tr>';    
echo '<td><input class="search-logi" id="tip" type="text" name="tip" value="'.$row['tip'].'"></td>';
echo '<td><input type=submit name=modifica value=Modifica></td>';
echo '</tr>';
}    
echo '</form>';
echo '</table>';

由于循环,此表单将有多行。对于每个输入,将是一个按钮。 假设我想在第二个输入中添加一个值,然后我将提交它(显然也是第二个按钮)。问题来了,在我的代码中我只有一个按钮,但用户看到的次数与循环一样多。如何查看提交的按钮?

【问题讨论】:

  • 您的 HTML 无效。你不能在那里有一个表格。使用验证器。

标签: php html mysql forms


【解决方案1】:

保留对输入和按钮的唯一引用。假设将计数器启动为 1,然后将 input id 设置为 input_1 并将 button 设置为 button_1,然后当您单击按钮时,获取上面为 1 的计数器值,然后根据计数器 1 获取 input_1 的值,然后提交表格。然后增加计数器,这样 id 也会增加。我认为这将帮助您满足您的需求。

【讨论】:

    【解决方案2】:

    或者,您可以为此目的使用&lt;button&gt; 标签:

    echo '<form method="post">'; // form tags are outside to be valid!!!
    echo '<table align=center border=1>';
    echo '<tr>';
        echo '<th>Lista Echipamente</th>';
        echo '<th>Actiune</th>';
    echo '</tr>';
    
    while($row = mysql_fetch_assoc($sql)){
        echo '<tr>';    
            echo '<td><input class="search-logi" type="text" name="tip['.$row['id'].']" value="'.$row['tip'].'"></td>';
            echo '<td><button type="submit" name="modifica" value="'.$row['id'].'">Modifica</button</td>';
        echo '</tr>';
    }    
    
    echo '</table>';
    echo '</form>';
    

    然后在处理表单上:

    $modifica = $_POST['modifica']; // shoud return the index num
    $tip = $_POST['tip'][$modifica]; // select which textbox
    

    【讨论】:

    • 所以我应该检查是否 isset($tip) ??
    • @PetruLebada 是的,安全起见,因为它可能会被省略
    【解决方案3】:

    检查您的所有 $_POST 变量,哪些是空的,哪些不是。 否则,您可以编写一个 javascript 函数来将所有未使用的字段的值设置为“0”或字符串,并检查它是否被使用,例如“未使用”。在您的 php 脚本中,您现在可以检查该值是否设置为“0”或“未使用”。

    【讨论】:

      【解决方案4】:

      一种方法是在输入文本字段的名称前加上计数器或其他前缀。根据输入字段的名称,您可以确定触发了哪个按钮。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-05-22
        • 2013-10-03
        • 2016-08-16
        • 1970-01-01
        • 2010-12-15
        • 1970-01-01
        • 2020-05-27
        相关资源
        最近更新 更多