除了一个问题之外,这个表单应该正常工作,注释不是跟随$ postid。
假设帖子3中有6个帖子和用户评论,帖子3评论被添加到帖子1而不是帖子3。 换句话说,评论只会添加到第一篇文章中。
评论需要遵循每个单独的帖子,并且数据位于变量$ postid中。其他两个变量适用于用户。
javascript代码:
<script type="text/javascript">
function submitForm()
{
$.ajax(
{
type:'POST',
url: '<?php echo APP_ROOT; ?>views/layouts/ajaxtest.php',
data:$('#commentForm').serialize(),
success: function(response)
{
$('#commentForm').find('.form_result').html(response);
}
});
return false;
}
</script>
这些是php中传递给表单的变量。
<?php
$postid = 'contains post id';
$user = 'contains user code';
$otheruser = 'contains other user code';
?>
这是表格。
<form id="commentForm" onsubmit="return submitForm();">
<input id="postid" name="postid" value="<?php echo $postid; ?>" type="hidden" />
<input name="user" value="<?php echo $user; ?>" type="hidden" />
<input name="friend" value="<?php echo $otheruser; ?>" type="hidden" />
<textarea name="send[mc_comment]" placeholder='Comment' rows='1'></textarea>
<input type="submit" name="submit" value="Submit" onclick="submitForm();" class="postit" />
<div class="form_result"> </div>
</form>
答案 0 :(得分:0)
听起来问题是您对所有帖子使用相同的id="commentForm"
。 ID必须在网页中是唯一的。您应该使用类而不是ID来重复块。
<form id="commentForm" onsubmit="return submitForm(this);">
然后按如下方式更改JS:
function submitForm(form)
{
$.ajax(
{
type:'POST',
url: '<?php echo APP_ROOT; ?>views/layouts/ajaxtest.php',
data:$(form).serialize(),
context: form, // So that success function can access the correct form
success: function(response)
{
$(this).find('.form_result').html(response);
}
});
return false;
}