Проверка JQuery с потенциальным взаимодействием с пользователем - PullRequest
1 голос
/ 24 февраля 2012

У меня есть форма, которая содержит адрес для проверки, который требует вызова веб-службы, и, если он недействителен, пользователю предоставляется модальное диалоговое окно JQuery UI для переопределения.Как я могу сделать эту работу, поскольку всплывающее окно асинхронное, вызов проверки завершен, прежде чем пользователь сможет выбрать, следует ли избегать правила проверки?

Редактировать: я думаю, что я принял решение по проектированию,что, вероятно, лучше с точки зрения разделения интересов.Чем больше я об этом думаю, тем больше смысла в том, чтобы вызвать диалог, позволяющий по существу редактировать данные на этапе проверки.Таким образом, проверка будет синхронизирована, а переопределение будет выполняться в контексте процесса ввода данных.(К вашему сведению, есть нечто большее, чем просто переопределение, есть также потенциальный список выбора для выбора из возможных совпадающих адресов, поэтому выбор одного из них существенно изменит базовые данные, которые вы проверяете в первую очередь).

1 Ответ

0 голосов
/ 24 февраля 2012

Вы можете передать функцию обратного вызова в $ .getJSON или $ .ajax следующим образом:

$.getJSON('ajax/test.json', {address: $('#myInput').val()}, function(data) {
  var items = [];

  $.each(data, function(key, val) {
    items.push('<li id="' + key + '">' + val + '</li>');
  });

  $('<ul/>', {
    'class': 'my-new-list',
    html: items.join('')
  }).appendTo('body');
});

это из документации

здесь немного больше с учетом ваших потребностей

$.getJSON('validateAddress.json', {address: $('#myInput').val()}, function(data)
{
   if( data.result == 'ok') 
   {
      $('#override').dialog();
   } else {
      alert('invalid address');
   }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...