При наборе почтового индекса с помощью onkeypress слушатель события ожидает 5 символов, а затем происходит событие - PullRequest
0 голосов
/ 09 ноября 2010

Я хотел бы иметь поле ввода почтового индекса, которое прослушивает, когда набираются 5 символов (цифры 0-9).

Я представляю что-то вроде в JavaScript:

if (charCount == 5){

Когда выполняется charCount = 5, он отправляет запрос getJSON и получает ответ JSON от сервера.

Данные имеют массив данных, в котором я хотел бы выбрать конкретный объект или параметры и значения в массиве.

Выбранные параметры и значения объекта отображаются в DOM через радиокнопочные входы с соответствующим текстом из данных, обозначающих входы.

Пользователь выбирает один вариант, выбираемые данные из строки JSON объединяются в строку запроса базового URL.

Затем пользователь переходит на следующую страницу.

Какой самый простой способ это сделать?

Ответы [ 2 ]

2 голосов
/ 09 ноября 2010

Самый простой способ будет зависеть от того, кто это делает - вы уже знакомы с / используете библиотеку JavaScript для этой страницы? Вы изучали библиотеки шаблонов, чтобы упростить создание HTML?

var is_five_digits = /^\d{5}$/g; // Only match five digits
if ( is_five_digits.test(your_input) ) {
    // Execute the getJSON request 
    // if using jQuery, for example it's just:
    // $.getJSON('your.url', {zip: your_input}, callback);
    // where callback is the function you want to use to generate your list.
    // However, you'll still need an event handler to listen for change events
    // on your new radio buttons and redirect the page once the choice is made.
}

Вещи (т. Е. Библиотеки JavaScript), на которые вы можете обратить внимание, включают:

Библиотеки JavaScript

jQuery , Dojo , Mootools , YUI

Шаблонные решения

Нокаут , Усы , Подчеркивание и PURE .

1 голос
/ 09 ноября 2010

прослушайте событие с измененным текстом в текстовом поле, затем в обработчике событий проверьте длину (как вы предлагаете). Если длина соответствует, тогда сделайте ваш запрос JSON.

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