Использование jQuery для вызова ajax после ввода URL в поле ввода - PullRequest
0 голосов
/ 15 марта 2011

У меня есть скрипт, который я написал на PHP, который очищает данные от URL.

Возможно ли с помощью jQuery сделать ajax-вызов, который после ввода URL-адреса в поле ввода (в сценарии выполняется проверка URL-адреса) он загружается до тех пор, пока не будет найден успешный URL-адрес, иостальная часть сценария может быть запущена, возвращая результаты после завершения.

Ниже приведен пример того, что я пытаюсь описать:

enter image description here

Что именно я должен посмотреть, чтобы понять, как это сделать?

Ответы [ 3 ]

1 голос
/ 15 марта 2011

Я не совсем уверен, чего вы пытаетесь достичь?Вы можете добавить обработчик событий для события «KeyUp» в поле ввода, а затем запрашивать ваш PHP-скрипт через AJAX для каждого события KeyUp и просто показывать какое-то og сообщение «Загрузка», пока ваш скрипт не вернет что-то полезное.

0 голосов
/ 15 марта 2011

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 голосов
/ 15 марта 2011

Сначала посмотрите вверх а) Как правильно рассчитать URL.Там есть URL Regexes.Google их!В то же время посмотрите, как выполняется REGEXing в JS.

b) Посмотрите, как вы подписываетесь на input type="text" события способом jQuery.(например: $.("#textbox1").bind('change', function(ev) {doTheFiltering();});. Сейчас я не могу его найти, у меня очень медленное соединение)

Затем c) команда jQuery.Get () из jQuery.Он показывает вам, как вы получите HTML, JSON, что угодно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...