سلام
وقت بخیر
بنده می خوام از google recaptcha v2 در یکی از فرم های ثبت نظرات استفاده کنم . view بصورت partial اطلاعات فرم را به کنترلر پاس می ده و با ajax اطلاعات post میشه اما اطلاعات div بصورت null دریافت می شه. لطفا راهنمایی بفرمایید.
<form class="comment-form" action="" method="post" id="commentForm">
<div>
<input type="hidden" id="Id" value="@Model.PageId" />
<input placeholder=" نام و نام خانوادگی" type="text" id="Name">
<input placeholder=" ایمیل خود را وارد نمایید " type="email" id="Email">
<br />
</div>
<textarea placeholder=" متن دیدگاه" id="Comment"> </textarea>
<div class="g-recaptcha" data-sitekey="your_site_key"></div>
<input value="ثبت دیدگاه ارزشمند شما " type="button" onclick="addComment()" id="register-button">
</form>
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
<script type="text/javascript">
function addComment(parameters) {
var form = {
PageId: $("#Id").val(),
Name: $("#Name").val(),
Email: $("#Email").val(),
Comment: $("#Comment").val()
};
alert(form);
$.ajax({
type: "Post",
url: "@Url.Action("AddComment", "News", new {@id = @Model.PageId})",
data: form
}).done(function(result) {
$("#commentList").html(result);
$("#Name").val("");
$("#Email").val("");
$("#Comment").val("");
});
}
</script>
[HttpPost]
public ActionResult AddComment(PageComment form)
{
var r = Request.Params["g-recaptcha-response"];
if ( ModelState.IsValid && r != null)
{
PageComment addComment = new PageComment()
{
CreateDate = DateTime.Now,
PageId = form.PageId,
Comment = form.Comment,
Email = form.Email,
Name = form.Name
};
pageCommentRepository.addPageComment(addComment);
return PartialView("ShowComment",
pageCommentRepository.GetCommentByNewsID(addComment.PageId));
}
}