试图使嵌入在表单中的表中的每一行可单击,以使项目按设计工作(没有提交按钮)

Trying to make a each row in a table that is embedded in a form clickable to make a project work as designed (no submit button)

本文关键字:项目 工作 按钮 提交 单击 表单 一行      更新时间:2023-09-26

我已经修复了表格内工作的问题。我只是添加了一个额外的<td>字段,并在其中创建了一个隐藏的输入字段,该字段将为表中的每个提示POST一个单独的tipID。整个表也用表单标记包装,以使tipID POST到下一页。

现在我需要知道如何使每一个单独的表行发送数据的形式有点像每一个是一个按钮或使一个隐藏的按钮clickonclick这些表行的一个。

<form method="post" action="tips.php">
<div id="tippanel"> 
     <table id="tippabl">
         <tbody>
           <?php if(!empty($tips))
             while ($recd = mysql_fetch_array($tips, MYSQL_ASSOC)) {            
             echo "<tr> <td class='tiptxt' >"; echo $recd['tip_desc']; echo "</td> <td class='tiptime'>";
             echo "<span>".date('H:i', strtotime($recd['datetime']))."</span>"; echo "</br>"; 
             echo date('m-d-y', strtotime($recd['datetime'])); echo"</td><td><input type="; 
             echo '"hidden" '; echo 'name='; echo '"tip_id" '; echo 'value="'; 
             echo ($recd['tip_id']); echo'"></td></tr>';
                }   
           ?>                                   
         </tbody>
      </table>          
     </div>
</form>

我的下一页将使用下面的查询并回显完整的tip_desc,因为提示可以有几百个字符。它还将有一个文本区域,管理员可以在其中向原始用户发送消息。我的PHP和查询在下一页应该是这样的:

<?php
$tipID = $_POST['tipID'];
mysql_query="SELECT * FROM tips WHERE tipID = $tipID";
?>

在表单中围绕表格,在其中放置一个隐藏的输入字段。

<form action="tips.php">
    <input name="tipID" type="hidden" value="id" />
    <div id="tippanel"> 
        <table id="tippabl">
            <tbody>
                <?php 
                    if(!empty($tips)) {
                        while ($recd = mysql_fetch_array($tips, MYSQL_ASSOC)) {             
                            echo "<tr> <td class='tiptxt' >"; echo $recd['tipDescription'];         
                            echo "</td> <td class='tiptime'>";
                            echo "<span>".date('H:i', strtotime($recd['dateTime']))."</span>"; 
                            echo "</br>"; echo date('m-d-y', strtotime($recd['dateTime']));
                            echo"</td></tr>";
                        }
                    }
                ?>                                  
            </tbody>
        </table>
    </div>
</form>

看一下这个,使您的行可点击。工作演示

function addRowHandlers() {
    var table = document.getElementById("tableId");
    var rows = table.getElementsByTagName("tr");
    for (i = 0; i < rows.length; i++) {
        var currentRow = table.rows[i];
        var createClickHandler = 
            function(row) 
            {
                return function() { 
                    var cell = row.getElementsByTagName("td")[0];
                    var id = cell.innerHTML;
                    alert("id:" + id);
                };
            };
        currentRow.onclick = createClickHandler(currentRow);
    }
}

信用:SolutionYogi

Ref:添加onclick事件到表行