如何从HTML表中的选定行获取单元格值?

时间:2013-01-23 09:39:04

标签: java html jsp jstl

有一张像......的桌子。

<table border="1" style="width: 100%" id="mytab1">
<tr id="A1">
    <td>100</td>
    <td>John</td>
    <td>Doe</td>
    <td>Someplace</td>
    <td>
        <input type="submit" value="Submit" />
    </td>
</tr>
<tr id="A2">
    <td>101</td>
    <td>Jane</td>
    <td>Doe</td>
    <td>Someplace</td>
    <td>
        <input type="submit" value="Submit" />
    </td>
</tr>

我正在尝试连续获取第一个单元格的值,其中我按下了“提交”按钮。我是新手。这是一个例子,但我真的在jsp页面中创建一个动态创建的html表,类似于这个How to get cell data of specific row from the dynamically created HTML table?问题。我无法让它发挥作用。

2 个答案:

答案 0 :(得分:1)

在每一行中使用隐藏字段并检查提交的值..如下所示:

<table border="1" style="width: 100%" id="mytab1">
<tr id="A1">
    <td>100</td>
    <td>John</td>
    <td>Doe</td>
    <td>Someplace</td>
    <td>
        <input type="hidden" name="rowId" value="A1" />
        <input type="submit" value="Submit" />
    </td>
</tr>
<tr id="A2">
<td>101</td>
<td>Jane</td>
<td>Doe</td>
<td>Someplace</td>
<td>
    <input type="hidden" name="rowId" value="A2" />
    <input type="submit" value="Submit" />
</td>

对所有隐藏字段使用相同的名称,以便在控制器中可以获取提交的值

答案 1 :(得分:1)

这种类型的工作javascript做得很好。

  1. 将提交更改为带处理程序的按钮;
  2. 将处理程序置于头部
  3. 结果代码:

    <html>
    <head>
    <script>
    function submitter(btn) {
        var param = btn.parentElement.parentElement.id;
        var myForm = document.forms["myForm"];
        myForm.elements["param"].value = param;
        myForm.submit();
    }
    </script>
    </head>
    <body>
    <form action="#someurl" id="myForm">
    <input type="hidden" name="param" />
    <table border="1" style="width: 100%" id="mytab1">
    <tr id="A1">
        <td>100</td>
        <td>John</td>
        <td>Doe</td>
        <td>Someplace</td>
        <td>
            <input type="button" value="Submit" onclick="submitter(this)" />
        </td>
    </tr>
    <tr id="A2">
        <td>101</td>
        <td>Jane</td>
        <td>Doe</td>
        <td>Someplace</td>
        <td>
            <input type="button" value="Submit" onclick="submitter(this)" />
        </td>
    </tr>
    </table>
    </form>
    </body>
    </html>