2012-09-29 93 views
27

我幾乎從來沒有得到與客戶端的東西玩了,這大概是簡單的任務是踢了我的屁股:)jQuery的:捕獲錨的href的onclick並提交異步

我有一些聯繫。 OnClick我想要防止默認操作,捕獲它的href url,提交一個ajax GET到那個URL,並且簡單地alert()與結果...但是我甚至不能通過起始線:)

示例錨對於播放時間:

<a class="asynch_link" href="good/1.html">Click Here</a> 
<a class="asynch_link" href="good/2.html">Click Here</a> 

現在,我已經打了幾個建議對SO 類似請求,但鏈接仍然會造成瀏覽器導航到href網址。

即使只

<script type="text/javascript"> 
    $('a').click(function (event) 
    { 
     event.preventDefault(); 
     //here you can also do all sort of things 
    }); 
</script> 

...的鏈接仍然導航到其他頁面。

我有點感覺像和嬰兒在這裏:)

任何和所有幫助將十分讚賞。

而且,是的,我AM包括jQuery的:)
<script src="//67.20.99.206/javascripts/jqueryCountdown/1-5-11/jquery.countdown.js" type="text/javascript" charset="utf-8"></script>

+0

'jquery.countdown.js'似乎是一個jQuery插件。你是否也包括完整的jQuery庫?如http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js – UserIsCorrupt

+1

OH MY GOODNESS !!!!! ...我把錯誤的行復制/粘貼到了我的沙箱裏......哈哈哈......哦,我現在完全臉紅了...... whooooh男孩......謝謝你! :) – mOrloff

回答

36
$('a').click(function(event) { 
    event.preventDefault(); 
    $.ajax({ 
     url: $(this).attr('href'), 
     success: function(response) { 
      alert(response); 
     } 
    }); 
    return false; // for good measure 
}); 
+5

我知道這已過了幾年,但它幫助了我。謝謝! –

4

的這裏的問題是,事件沒有被連接你的元素,因爲他們沒有被在DOM準備束縛事件。嘗試包括DOM ready事件的事件,如果它的作品,你會看到警報

<script> 
    $(function() { 
     $('a').click(function(event) { 
      event.preventDefault(); 
      alert('fff') 
     //here you can also do all sort of things 
     }); 
    }); 
</script> 

在此之後發送Ajax請求並提交表單的成功回調函數..

<script> 
    $(function() { 
     $('a').click(function(event) { 
      event.preventDefault(); 
      $.ajax({ 
       url: 'url', 
       dataType :'json', 
       data : '{}', 
       success : function(data){ 
        // Your Code here 

        $('#form').submit(); 
       } 
      }) 
     }); 
    }); 
</script> 
+1

謝謝。這與我最終的結果非常相似。我沒有形式,因此也沒有提交...但這是正確的想法。再次感謝:) – mOrloff

18

試試這個

$('a').click(function (event) 
{ 
    event.preventDefault(); 

    var url = $(this).attr('href'); 
    $.get(url, function(data) { 
    alert(data); 
    }); 

}); 
+0

謝謝。你把我放在正確的道路上。出於某種原因,沒有什麼東西能夠被返回,所以我把'get'換成了'ajax',並且讓所有的東西都起作用(就像@sushanth最終提出的那樣)......謝謝你一堆 – mOrloff

+0

你是歡迎朋友。 – codingbiz