2012-06-30 3 views
1

У меня есть HTML-форма для обновления адреса в учетной записи, которая отправляется на сервлет Java.HTML-форма с промежуточным сервисом службы веб-сервисов перед отправкой

Проблема заключается в том, что форма не должна принимать текст свободного текста. Вместо этого пользователь должен ввести почтовый индекс/номер дома/название улицы и нажать кнопку поиска.

Для этого поиска необходимо перейти в веб-сервис, выполнить проверку подлинности и получить список допустимых адресов, соответствующих критериям поиска.

Этот список адресов должен отображаться пользователю в той же форме (либо показать скрытый элемент, либо использовать модальный диалог), чтобы пользователь мог выбрать свой адрес.

Только после того, как действительный адрес выбран, пользователь должен иметь возможность нажать кнопку отправки формы, которая отправляет данные обратно на сервлет.

Я не уверен, как эти две кнопки выполняют разные действия в форме. Я очень новичок в JavaScript, и любые указатели или примеры очень ценятся.

ответ

0

Для вашего веб-сервиса создайте вывод значений на основе результата поиска (базовой строки). Поместите эти данные в инструкцию JSON или просто в массив javascript.

Верните что-то похожее на это. ['SearchResult1', 'SearchResult2', 'SearchREsult3']

В поле поиска. Привязать функцию к изменению или размытию.

$('#SearchBox').bind('change', function(){ 

    var val = $(this).val(); 
    //Please reference the Jquery Ajax function as im typing this from memory and i always mix one or two things up :). 
    $.ajax({ 
    "type" : "post", 
    "url"  : "yoururlhere", 
    "data" : { "search":val }, 
    success : function(dataset){ 

     //When it comes back here check to see if its valid data etc etc 

     //After you validate you can populate a picklist on the page with the values. Or do anything you want with the values like this 

     for(x in dataset){ 
      $('#DocumentElement').append('<p>'+ dataset[x] +'</p>'); 
     } 

    } 
    }); 


}); 

Это должно начать вас. После этого вы можете просто сделать больше вещей на обратном вызове или изменить дом таким образом, который вам подходит лучше :).

Смежные вопросы