1

削除オプションを追加したいコメントシステムがあります。このため、delete.phpcomment-idに投稿 する各コメントに POST フォームを実装しました。phpでは機能しますが、jquery では機能しません。

つまり、コメントを削除するには、データベースからのコメントの削除を処理する delete.php ファイルにコメント ID をポストする必要があります。

このようにjqueryを使用して入力値からコメントIDを取得して投稿しようとしていますが、選択した値ではなく最初のコメントID値が得られます。

Jクエリ

    $('form[name=comments]').submit(function(){

    var comment_delete = $("input[name=comment-delete]").val();
    //$.post('../../delete.php', {value1:comment_delete}, function(data){alert('deleted')});
    alert(comment_delete);
    return false;

    });

繰り返しフォームはこのようなものです

      <form name="comments" action="../../delete.php" method="post">
      <input name="comment-delete" type="hidden" value="<?php echo $list['comment-id']; ?>" />
      <input value="Delete" type="submit" />
      </form>

.each()またはそれを使用する.map()と、すべてのコメントID値が得られます。

これを行うための可能な方法を見て提案してください。

ありがとう。

4

3 に答える 3

2

関連する入力、つまり送信したフォームの 1 つを見つけるには、次のように使用できます。

 $('form[name=comments]').submit(function(){
    var comment_delete = $(this).find("input[name=comment-delete]");

ところで、私はあなたが何をしているのか完全にはわかりませんが.val()、入力の値を取得するために a を見逃している可能性があります。

于 2012-10-25T07:45:11.190 に答える
1

各非表示の入力に同じ名前があります。当然、実行時に正しいフォームをターゲットにしていないため、これらすべての入力を取得します。

$("input[name=comment-delete]");

「this」は、送信機能内のフォームを指します。これを試して。

$('form[name=comments]').submit(function(){

    var comment_delete = $(this).find("input[name=comment-delete]");
    //$.post('../../delete.php', {value1:comment_delete}, function(data){alert('deleted')});
    alert(comment_delete);
    return false;

});

ディストロイが言ったように、おそらく .val() がありません。

var commentId = $(this).find("input[name=comment-delete]").val();
于 2012-10-25T07:47:44.663 に答える
0

これを試して

$('form[name=comments]').submit(function(){

  var comment_delete = $("input[name=comment-delete]", this);
  //$.post('../../delete.php', {value1:comment_delete}, function(data){alert('deleted')});
  alert(comment_delete);
  return false;

});

this送信されるフォームを参照します (より一般的には、イベント ソース)。 $(...)2 番目のパラメーターを受け入れます。このパラメーターは、セレクターのコンテキストとして使用されます。$(selector, context)と同等です$(context).find(selector)

于 2012-10-25T07:46:51.513 に答える