<form class="follow-form" method="post" action="listen.php">
<input name="followID" value="123456" type="hidden">
<button type="submit" value="Actions" class="btn follow" title="123456">
<i></i><span>follow</span>
</button>
</form>javascript文件:
jQuery(function ($) {
/* fetch elements and stop form event */
$("form.follow-form").submit(function (e) {
/* stop event */
e.preventDefault();
/* "on request" */
$(this).find('i').addClass('active');
/* send ajax request */
$.post('listen.php', {
followID: $(this).find('input').val()
}, function () {
/* find and hide button, create element */
$(e.currentTarget)
.find('button').hide()
.after('<span class="following"><span></span>Following!</span>');
});
});
});我想知道通过ajax在listen.php中会有什么样的进程,我知道这是一个mysql语句,但是之后会发生什么呢!
它说明的是:当您单击follow按钮时,它会将ajax请求发送到listen.php,如果成功,它将转换为以下内容,显示您跟随了用户
谢谢,我整晚都没睡
发布于 2010-09-09 12:23:08
好的,你这里的代码真的没有任何问题。我已经设置了一个来测试它,它工作得很好。唯一的问题是,您试图在按钮之后插入的submit片段是无效的-您混淆了开始标记和结束标记,这不应该影响事件处理程序是否捕获到HTML事件。这是我在做了一些小修改后得到的代码:
jQuery(function($) {
$("form.follow-form").submit(function(e) {
e.preventDefault();
$(this).find('i').addClass('active');
$.post('/ajax_html_echo/', {
followID: $(this).find('input').val()
}, function() {
$(e.currentTarget).find('button').hide().after('<span class="following">Following!</span>');
});
});
});除此之外,它工作得很好-也就是说,假设您希望无论ajax请求的结果是什么都显示following跨度。
https://stackoverflow.com/questions/3673600
复制相似问题