2013-03-19 2 views
0

я это для моего Comment.php:AJAX Подача на отправить

<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

ли вы, ребята, случайно не знаете, что это такое, что я делаю неправильно?

+0

Возврат false внутри обратного вызова успеха неверен, ему нужно выйти за пределы этого. –

+0

что-то вроде: pastebin.com/eZiRX8bt извините мое невежество, когда дело доходит до кодирования, ха-ха. – TrippedStackers

ответ

0

Во-первых, не возвращайте false в методе успеха. Это не принесет ничего полезного.

Во-вторых, добавьте e.preventDefault() в событие click. Этот вызов метода позволяет не запускать действие по умолчанию для события.

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

Редактировать

Я также заметил, что JavaScript может быть выполнение до DOM готова. Пожалуйста, переместите все JS непосредственно перед </body>. И подумайте использовать что-то вроде $(document).ready(function() {....

+0

что-то вроде: http://pastebin.com/eZiRX8bt извините мое невежество, когда дело доходит до кодирования, ха-ха. – TrippedStackers

Смежные вопросы