2010-09-09 144 views
0
<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 ajax问题?

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声明,但随后经过什么!

什么DEOS是:当你点击关注按钮,该发送Ajax请求listen.php,然后,如果全成其transfroms成以下,显示出你跟着用户

感谢我一直在涨的所有夜间

+1

这取决于您在运行MySQL语句后要执行的操作。你想展示一些东西吗? – Calvin 2010-09-09 03:43:19

+0

它在javascript文件的按钮之后。 getaway 2010-09-09 03:45:38

+0

良好的睡眠肯定会清除你的想法。 – TheVillageIdiot 2010-09-09 03:48:46

回答

1

嗯,这里的代码真的没有什么问题。我建立了一个jsfiddle来测试它,它工作正常。唯一的问题是,它不应该影响事件处理程序是否捕获到事件,因为您试图在按钮后插入的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>'); 
     }); 
    }); 
}); 

其他,它工作正常 - 也就是说,假设你想following跨度显示无论什么Ajax请求的结果是。

+0

非常感谢你,但是我会在哪里放mysql的说法 – getaway 2010-09-09 04:32:00

+0

@getaway你必须在'listen.php'中做到这一点 – 2010-09-09 04:37:53