2011-03-15 72 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,无论如何。

相关问题