好吧,我知道還有很多其他問題已經被問到關於這個主題,但我想要幫助改進我的一段代碼。我正在試圖製作一個類似Facebook的評論系統,它的工作原理與此類似,無需刷新頁面。直到現在,如果在jQuery的幫助下,評論字段不是空的,我就可以成功提交。現在我還想在這裏實現AJAX。所以我在那裏添加了一小段代碼。但它不工作。我對jQuery和AJAX的瞭解都很有限,我會逐漸改進,但現在我想修復這個錯誤。請糾正我在以下代碼段中發生的任何錯誤。AJAX jQuery無刷新插入數據
jQuery和AJAX部分:
$(document).ready(function() {
$('.commentarea').keydown(function(event) {
if($.trim($(".commentarea").val())) {
if(event.keyCode == 13) {
this.form.submit(function() {
var textcontent = $(".commentarea").val();
var dataString = 'content='+ textcontent;
$.ajax({
type: "POST",
url: "post-comment.php",
data: dataString,
cache: true,
success: function(html){
$("#show").after(html);
document.getElementById('content').value='';
$("#flash").hide();
$("#content").focus();
}
return false;
});
});
}
return false;
}
});
});
HTML部分:
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" class="full-width">
<textarea name="comment" placeholder="Give a comment..." class="comment-field commentarea" id="postcomment"></textarea>
</form>
PHP部分:
<?php
include('config/db.php');
if(isset($_POST['commentarea']))
{
$content = (!empty($_POST['comment']))?$_POST['comment']:null;
$insert = "INSERT INTO comments(cmt_comment)VALUE(:comment)";
$inserq = $pdo->prepare($insert);
$inserq->bindValue(':comment', $content);
$inserq->execute();
$lastid = $pdo->lastInsertId();
$sel = "SELECT * FROM comment WHERE cmt_id = :lastid";
$seq = $pdo->prepare($sel);
$seq->bindValue(':lastid', $lastid);
$seq->execute();
$sef = $seq->fetch();
}
?>
<div class="showbox"> <?php echo $sef['cmt_comment']; ?> </div>
我想幫助使其像數據功能發送到post-comment.php
並立即插入並返回到<div class="showbox"></div>
,無需刷新任何頁面就像Facebook一樣。
一點谷歌搜索可以幫助 –
什麼問題,有什麼錯誤? – jeroen
錯誤是..如果我不添加ajax部分表單提交數據,如果該字段包含文本刷新頁面。但添加ajax部分後它不提交..它採取到下一行時,我按下輸入就像一個textarea工程.. @ jeroen –