0

私のcomment.phpにはこれがあります:

<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>  
<script type="text/javascript">   
$(function() {    
 $('#reset_form').click(function() {
     $('#name,#comment').val('');
 });
 $('#submit').click(function() {

var name = $('#name').val();
var comment = $('#comment').val();

$.ajax({
    url: '../forms/comment_ajax.php?id=<?php echo $_GET['id']; ?>',
    data: { form_name: name, form_comment: comment },
    success: function(data) {
        $('#new_comment').append(data);

        $(document).trigger('close.facebox');

        $('#new_comment').effect("bounce", { direction:'down', times:5 }, 300);        
        $('html,body').animate({scrollTop:0}, 2000, "easeOutQuart");
        return false;
    }
});
});
});

</script>

Name: <br />
<input type="text" id="name" class="userpass" maxlength="15"/><br /><br />

Comment: <br />
<textarea id="comment" rows="6" cols="75"></textarea><br /><br />

<input type="submit" name="submit class="button" value="Comment" />
<input type="reset" name="submit" value="Reset"/>

次に、これは私のAJAX用です:

<?php
require_once('../blog/inc/config.php');

    $form_name = $_GET['form_name'];
    $form_comment = htmlspecialchars($_GET['form_comment']);
    $date = date('M jS Y | g:i a T');
    $ip = $_SERVER['REMOTE_ADDR'];

     if($form_name == '') {
        echo("<div class='alert alert-error-x'>Don't forget to enter your name, as we need to identify who's commenting on this article!</div>");

    } else if($form_comment == '') {
        echo("<div class='alert alert-error-x'>Please do not leave the comment field blank, we want to know what you're saying!</div>");

    } else {
mysql_query("INSERT INTO comment (id, articleid, name, comment, date, ip) VALUES (NULL,'{$_GET['id']}','{$form_name}','{$form_comment}','{$date}','{$ip}')");

        // output comment
        echo "
  <div class='article-body-new'>
  <div class='user'><b>$form_name</b> <span>says:</span></div> 
  <div class='comments'>
  $form_comment <br /><p></p><br />

  <p style='font-size:12px;'>Posted on <b><font size='0.8em'>$date</font></b></p>
  </div>
  </div>";
    }
?>

私はこれをfacebox jsで動作させています。これは次のようになります: http://screencloud.net/v/m9jR

ただし、投稿しようとすると、コンテンツは投稿されません。「コメント」をクリックし続けますが、実行されません。

私の完全な article.php ページはここにあります: http://pastebin.com/DCHGR1Ly

私が間違っていることが何であるかを知っていますか?

4

1 に答える 1

0

まず、success メソッドで false を返さないでください。何の役にも立ちません。

次に、クリック イベントに e.preventDefault() を追加します。そのメソッド呼び出しにより、イベントのデフォルト アクションがトリガーされなくなります。

$('#submit').click(function(e) {
  e.preventDefault();
  ...

編集

また、DOM の準備が整う前に JavaScript が実行されている可能性があることにも気付きました。すべての JS を の直前に移動してください</body>。のようなものを使用することを検討して$(document).ready(function () {...ください。

于 2013-03-19T23:44:37.897 に答える