1

Enterキーを押すと、ページを更新せずにコメントが追加されるFacebookのようなコメントセクションを作成しようとしています。

だから私が持っているアイデアともっと簡単な方法があるかどうかを教えてくださいが、Enterで送信されたフォームを取得しようとしています。次に、ajaxにフォームデータをcomment.phpに送信させ、そのコメントdivを更新させます。問題が発生しています。主に、Enter Pressed 関数内の div を更新する方法。これが私が持っているものです....

$('#commentForm').keyup(function(e) {
if (e.keyCode == 13) {
    e.preventDefault()
    var songComment = $("#songComment").val();
    var username = $("#username").val();
    var comid = $("#comid").val();
    var dataString = 'songComment=' + songComment + '&username=' + username + '&comid=' + comid;
    if(dataString=='' || songComment=='' || username=='' || comid=='')
    {

    }
    else
    {
        $.ajax
        ({
            type: "POST",
            url: "comment.php",
            data: dataString,
        });
        $("#videoFooter").load('videosFooter.php');
    }
    return false;
};
});

したがって、私が抱えていると思われる問題は、リロード div が機能しないことです。つまり、それを適切に行う方法が本当にわかりません。

編集: 注意すべき点がいくつかあります。このコメント エリア全体は、commentArea.php という名前の php ページに配置されています。基本的には、commentArea.php を更新する必要があります。これにより、必要な領域が更新されます。したがって、このページには、ユーザー名とコメントと日付を含むいくつかの div を入力して送信されたコメント フォームがあります。その後終了します。

ありがとう

4

1 に答える 1

1

これを試すことができます:(必要に応じて変更してください)。これは、送信ボタンをクリックすることです。

<script type='text/javascript'>
    /* attach a submit handler to the form */
    $("#commentForm").submit(function(event) {

      /* stop form from submitting normally */
      event.preventDefault();

      /* get some values from elements on the page: */
      var $form = $( this ),
          url = $form.attr( 'action' ); //or "comment.php" 

      /* Send the data using post */
      var posting = $.post( url, { songComment: $('#songComment').val(), username: $('#username').val(), comid: $('#comid').val() } );

      /* Put the results in a div */
      posting.done(function( data ) {
        alert('success');
      });
    });
</script>

あなたも試すことができます:

$("#commentForm").on('submit', (function(event) {
于 2013-06-19T03:23:15.350 に答える