1

私のページには、大量の行を持つ dataTable があります。各行には、id、name、surname、および action 列があります。アクション列には、コメントを追加できるテキストエリアと、そのコメントを送信するボタンがあります。コメントを送信するときに、ページを元の位置に配置したいのですが、その方法がわかりません。何か案は?

コードのスニペットは次のとおりです。

$result = mysql_query($query, $connection);
while ($row = mysql_fetch_array($result)) {
echo "<tr>";
    echo "<form method='post' action='saveComment.php#position_".$row['id']."'>";
    echo "<td hidden><input hidden name='id' readonly value=" . $row['id'] . " /></td>";
    echo "<td>" . $row['name'] . "</td>";
    echo "<td>" . $row['surname'] . "</td>";
    echo "<td><input type='submit' name='submit' value='Comment'/></td>";
    echo "<a id='position_".$row['id']."'></a>";
echo "</tr>";
}

現在の行のIDをコメントを保存するスクリプトに渡そうとしましたが、値が渡された後、元の場所に戻す必要がありますが、機能していないようです:/

4

3 に答える 3

1

Ajax を使用してフォームを送信し、成功した場合:

window.location = 'saveComment.php#position_<? echo $row['id']; ?>';
于 2012-12-19T10:19:35.367 に答える
1

アンカーの使い方がわかった!問題は、元のページにリダイレクトするときに、saveComment.php スクリプトで ID を渡さなかったことです。

フォームがあるページのコード:

if ($_POST['submit']){
$id=$_POST["id"];   
header('Refresh: 0.5; URL=originalPage.php#position_' . $id);
//...rest of code goes here...
}

それでおしまい :)

于 2012-12-19T12:04:09.303 に答える
0

使用する必要があります

<a name='position_".$row['id']."'></a>

それ以外の

<a id='position_".$row['id']."'></a>
于 2012-12-19T10:18:24.437 に答える