Отмена выбора формы ввода и ожидание функции перед отправкой - PullRequest
0 голосов
/ 02 июня 2010

У меня есть форма с полем ввода, где пользователь вводит уникальный идентификатор. Затем у меня есть некоторый код jQuery, который, когда пользователь отходит от поля ввода (размытие), выходит и извлекает сведения о детали и заполняет некоторые поля на странице. Проблема заключается в том, что если пользователь нажимает кнопку отправки перед выходом из поля ввода, код jQuery никогда не имеет возможности загрузить данные и заполнить необходимые поля. Каков наилучший способ сделать это? Я подумал о том, чтобы установить фокус на body и затем создать бесконечный цикл, который продолжает проверять страницу до тех пор, пока не будут заполнены все поля, которые должны быть заполнены, но я чувствую, что какое-то решение на основе событий будет лучше, чем непредсказуемые бесконечные циклы. Есть идеи?

Ответы [ 2 ]

4 голосов
/ 02 июня 2010

Дайте форме событие onsubmit.

Возвращать это событие false, если все поля формы не заполнены правильно.

В JQuery :

$("#formname").submit(function()
 { if (condition_not_met) return false; });

Это заблокирует отправку формы, пока все не будет на месте.

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

0 голосов
/ 03 июня 2010

Я предполагаю, что вы делаете Ajax-вызов в функции размытия? Не могли бы вы отключить кнопку отправки (при загрузке страницы или при размытии), а затем включить ее в обратном вызове ajax?

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