我有一个带编辑链接的shoutbox。单击时(下面的代码),它会提示编辑帖子,然后在提交时动态创建表单并将表单提交到另一个页面进行处理。
最初,其他页面会处理它并重定向回用户所在的页面。但是我改变了我的shoutbox的显示方式。
我想要做的是动态创建表单,但不是将其提交到其他页面(实际上我将我的浏览器带到操作页面,我想用AJAX提交表单,以便我从不离开我目前所在的页面。
所以基本上我可以在主页上,编辑帖子,然后当我确认编辑时,我应该保留在主页上,然后表单将在后台通过AJAX处理,并且将重新加载shoutbox容器(而不是页面本身)。
$('span.edit a').click(function (event) {
event.preventDefault();
var id = $(this).attr('id');
var url = $(this).attr('href');
var new_post = prompt('', $('#shoutbox_comment_' + id).html());
if (new_post != '' && new_post != null && new_post != $('#shoutbox_comment_' + id).html()) {
var form = $(
'<form action="' + url + '" method="post">' +
'<input type="hidden" name="comment" value="' + new_post + '">' +
'<input type="hidden" name="id" value="' + id + '">' +
'<input type="submit">' +
'</form>');
$('body').append(form);
$(form).submit();
$('#shoutbox_container').load('../../website/inc/views/shoutbox/shoutbox.php?p=' + $(this).parent().attr('id'));
} else if (new_post != null) {
alert("Your post could not be edited. Make sure that your comment is not blank and that you've made changes.");
}
});
我已经让AJAX对删除链接很好,但由于帖子数据的形式,我在解决如何在后台提交这个问题时遇到了问题。
答案 0 :(得分:0)
实际上,我弄清楚了! &GT;&LT;
$('span.edit a').click(function (event) {
event.preventDefault();
var id = $(this).attr('id');
var url = $(this).attr('href');
var new_post = prompt('', $('#shoutbox_comment_' + id).html());
if (new_post != '' && new_post != null && new_post != $('#shoutbox_comment_' + id).html()) {
var form = $(
'<form action="' + url + '" method="post">' +
'<input type="hidden" name="comment" value="' + new_post + '">' +
'<input type="hidden" name="id" value="' + id + '">' +
'<input type="submit">' +
'</form>'
);
$('body').append(form);
$.ajax({
type: 'post',
url: url,
data: form.serialize()
});
$('#shoutbox_container').load('../../website/inc/views/shoutbox/shoutbox.php?p=' + $(this).parent().attr('id'));
} else if (new_post != null) {
alert("Your post could not be edited. Make sure that your comment is not blank and that you've made changes.");
}
});