JQuery autocomplete - форма sumbit только для выбора из списка
Я не знаю много о java-скрипте и jquery. Я построил форму, которая заставляет вас вводить номер телефона. Теперь я включил автозаполнение для существующих клиентов.
Я использую следующий код sumbit в других местах, и он делает работу довольно хорошо
onchange='if(this.value != 0) { this.form.submit(); }'
Однако на этот раз я хочу, чтобы сайт отправлял форму, если элемент выбран из списка автозаполнения, а не если я ввожу неизвестный номер (вышеуказанный код передает форму при любом изменении)
<td><label for=\"cust_telsearch\"> </label><input size=30 value=\"$cust_telsearch\" name=\"cust_telsearch\" id=\"cust_telsearch\" $cust_input_lock ></td>
2 ответа
Вы можете установить флажок в скрытом поле формы для события выбора автозаполнения равным 1, если значение выбрано из списка автозаполнения, иначе 0, если нет.
Основываясь на этом скрытом поле формы, вы можете запустить отправку, только если флаг равен 1, иначе запретить отправку формы.
Если вы используете ajax, вы можете установить флаг на основе данных, которые возвращаются в случае успеха.
Попробуй это
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
$(document).ready(function(){
$("select").on('change',function(){
$("#form1").trigger('submit');
return false;
});
$("#form1").bind('submit',function(){
alert(1);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="form1">
<select>
<option value="1">1</option>
<option value="1">2</option>
<option value="1">3</option>
</select>
</form>