0

のようなテーブルを持っている...

<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テーブルに取り組んでいます。これは、動的に作成されたHTMLテーブルから特定の行のセルデータを取得する方法に似ています。質問。私はそれを機能させることができません。

4

2 に答える 2

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>

すべての非表示フィールドに同じ名前を使用して、コントローラーで送信された値を取得できるようにします

于 2013-01-23T10:21:53.983 に答える
1

このタイプの作業 JavaScript は非常にうまく機能します。

  1. ハンドラーを使用してサブミットをボタンに変更します。
  2. ハンドラーを頭に入れる

結果のコード:

<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>
于 2013-01-31T13:59:18.030 に答える