2011-03-15 118 views
0

我有一個腳本,我用PHP編寫了一個從url中抓取數據的腳本。使用jQuery調用一次url在輸入字段中輸入

是否有可能使用jQuery做一個ajax調用,一旦一個url被輸入到一個輸入字段(在腳本內部有一個URL驗證),它會「加載」,直到成功的url被識別出來,其餘的然後可以運行該腳本,從而在完成後返回結果。

下面是什麼,我想描述一個例子:

enter image description here

正是我應該看什麼事,以瞭解如何做到這一點?

回答

0

的Javascript:

$(document).ready(function(){ 
    $('#search').keyUp(function(){ 
     var v = $(this).val(); // Value currently in search box 

     if(v.length) $('#loader').show(); 
     else $('#loader').hide(); 

     var r = /(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/ // Regex Pattern 
     if(r.test(v)) { // Yes, a valid url 
      // Do your $.ajax({}); request here 
     } 
    }); 
}); 

HTML

<input type="text" name="search" id="search" /> 
<p id="loader">Loading...</p> 
+0

這正是我想到的。感謝這個例子! – 2011-03-15 09:50:04

+0

@bob_cobb這很棒我很高興它會幫助你。請記住勾選您認爲最有幫助的答案。 – Emmanuel 2011-03-15 21:35:15

+0

我現在正在玩代碼,出於某種原因,在測試時,我輸入一個有效的url,並將其放在if(r.test(s))條件'$(「#loading」)。html 「文本可以包含h​​tml代碼」);',並且它沒有加載文本。它必須位於$ .ajax({})中嗎?請求?我試圖理解這是如何工作的。謝謝。 – 2011-03-16 07:00:07

1

我不太確定你想達到什麼目的? 您可以在輸入框中爲「KeyUp」事件添加一個事件處理程序,然後在每個KeyUp事件中通過AJAX查詢您的PHP腳本,並只顯示某種類型的「加載」消息,直到您的腳本返回一些有用的內容。

+0

你釘它。非常感謝,我將使用Emmanuel上面的例子來解決這個問題。 jQuery noob,但每天學習更多。感謝您告訴我我應該尋找什麼(KeyUp事件的事件處理)。 「og'Loading'」消息爲+1。哈。 – 2011-03-15 09:51:34

0

先查看一下)如何REGEX的網址。有URL Regexes。 Google他們!同時,看看如何在JS中完成REGEXing。

b)看看你如何訂閱input type="text"事件的jQuery方式。 (例如:$.("#textbox1").bind('change', function(ev) {doTheFiltering();});。我現在無法查找,我的連接速度很慢)

然後,c)jQuery中的jQuery.Get()命令。它向你展示瞭如何獲得html,json,無論如何。

相關問題