2010-09-09 145 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