Запретить отправку, если поле со списком автозаполнения jquery пусто - PullRequest
0 голосов
/ 21 февраля 2012

Я использую утилиту комбинированного списка автозаполнения Jquery в своем веб-приложении (действительно хороший инструмент), но я бы хотел запретить отправку формы, если поле, связанное с комбинированным списком автозаполнения, пусто.

Так что длятеперь, если ничего не было выбрано через выпадающий список, я просто не отображаю кнопку отправки, но если что-то было выбрано, а затем стерто ... Я не знаю, когда (или где) я должен скрыть свою кнопку отправки.

Есть идеи?

Заранее спасибо.

Отредактируйте вот мой код:

/* HTML */
//The select filled with data for the combobox
<select id="combobox">
        <option value=""></option>
        <c:forEach var="item" items="${itemList}">
            <option value="${item.value}">${item.key}</option>
        </c:forEach>        
</select>

 //The form with the button
<form name="updateForm" action="update.htm" method="post">
    <input type="hidden" id="id1" name="cID" />
    <input type="hidden" id="id2" name="rID" />
    <input type="submit" id='btn_update' value="Update" />
</form>

/* JAVASCRIPT */
//combobox widget init (...)
$("#btn_update").hide();
$( "#combobox" ).combobox({
    selected:selectedFunc
});

1 Ответ

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

Если я не правильно понял, вы выглядите примерно так:

html

<select id="sel">
    <option>-select-</option>
    <option value="example1">example1</option>
    <option value="example2">example2</option>
</select>
<input type="submit" id="but" style="display:none;"/>

script

$("#sel").change(function() {

if(this.selectedIndex == 0) 
    $("#but").hide();
else 
    $("#but").show();
});​

и вот jsFiddle link


РЕДАКТИРОВАТЬ:

Не удалось решить вашу проблему точно, но, возможно,этот пример покажет вам, как

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

здесьпример в jsFiddle

, но плохие новости из jquery-ui-autocomplete document

событие изменения

Срабатывает, когда полеразмыт, если значение изменилось;ui.item относится к выбранному элементу.

означает, что он не будет работать при нажатии клавиши, он должен быть размытым, чтобы сработать.если вы можете добавить событие нажатия клавиши в jquery-ui-autocomplate, которое будет работать точно.

...