タイトルで説明するのは難しい...
だから私はjavascriptを介して検証されるフォームを持っており、Ajaxリクエストがphpページに送信され、成功するとデータが入力され、データベースの応答が設定されます。
ただし、正しい応答を取得するajax呼び出しでは、私が望んでいることを実行しません...
私がしたいのは、phpが成功したJSONリターンを返したときに、.commentsdivがリロードされることです。
ただし、これは機能しません。ただし、コメントはデータベースに追加されます。
ここにコードがあります
コメントボックスの div とフォームの一部:
<div class="commentsbox">
<form class="addcomment" action="process/addcomment.php" method="post">
<input type="hidden" class="postid" name="postid" value="'.$postID.'">
<input type="hidden" class="usernameuser" name="usernameuser" value="'.$usernameuser.'">
<input type="hidden" class="userid" name="userid" value="'.$userid.'">
<input type="text" name="addpostcomment" class="addpostcomment" placeholder="Add Comment..." />
<input type="submit" id="addcommentbutton" value="Post" />
<br />
<br />
</form>
</div>
これがJavaScriptです:
viewbuild.php の URL は、表示される投稿に応じて動的になります。viewbuild.php?id=1 などのようにする必要がありますか? それはうまくいかないからです。
// JavaScript - Edit Post
$(document).ready(function(){
$(".addcomment").submit(function(){
var $targetForm = $(this);
$targetForm.find(".error").remove();
$targetForm.find(".success").remove();
// If there is anything wrong with
// validation we set the check to false
var check = true;
// Get the value of the blog update post
var $comment = $targetForm.find('.addpostcomment'),
newcomment = $comment.val();
// Validation
if (newcomment == '') {
check = false;
$comment.after('<br><br><br><div class="error">Text Is Required</div>');
}
// ... goes after Validation
$.ajax({
type: "POST",
url: "process/addcomment.php",
data: $targetForm.serialize(),
dataType: "json",
success: function(response){
if (response.databaseSuccess) {
$('.commentsbox').load('viewbuild.php');
}
else {
$ckEditor.after('<div class="error">Something went wrong!</div>');
}
}
});
return false;
});
});
これがphpの一部の終わりです:
$return['databaseSuccess'] = $dbSuccess;
echo json_encode($return);
どんな助けでも大歓迎です!:)