У меня есть поиск, который работает AJAX. Он отлично работает, когда пользователь нажимает кнопку поиска, проблема в том, что ... если пользователь нажимает кнопку ввода ... он отправляет форму, а не выполняет функцию javascript AJAX. Как заставить кнопку «Ввод» вызывать функцию AJAX вместо отправки формы?отправить текстовое поле для ввода нажмите (AJAX)
ответ
Ловушка в методе onSubmit формы и возвращает false.
С jQuery:
jQuery("#myform").submit(function() {
callAJAXFunction();
return false;
});
Скорее всего, для этого нужно использовать jQuery. И jQuery не всегда лучший вариант, в зависимости от того, что вы делаете. – jonycheung
@ JONYC Я не согласен. Если у вас есть jQuery под рукой, я бы сказал, что лучше использовать его для поддержания согласованности, чем смешивать DOM-манипуляцию/обработку событий на основе jQuery с обработкой DOM на основе jQuery/обработкой событий. Я согласен с вами в том, что jQuery может быть не лучшим решением для * всего *. –
@vivin Я просто указываю, что, делая именно это, jQuery является излишним. И плюс, вопрос не запрашивал jQuery. Также я бы не пошел с jQuery сам из-за плохо спроектированного синтаксиса. Подробнее об этом читайте здесь: http://blog.thinkrelevance.com/2009/1/12/why-i-still-prefer-prototype-to-jquery – jonycheung
onsubmit
Используйте событие форме, чтобы выполнить свой Ajax вызова и кнопку в кнопку отправки, если это уже не.
Пример HTML
<form action="/search.php" onsubmit="submitAjaxQuery(event)">
<input type="text" name="keywords" />
<button type="submit">Go!</button>
</form>
Пример JS
function submitAjaxQuery(event)
{
if (event.preventDefault)
event.preventDefault();
else
event.cancel = true;
// run ajax calling function here.
}
Это работает, но я думаю, что его немного переборщит. Вместо дополнительной функции простой 'onsubmit = "ajax(); return false;"' сделал бы трюк – Mark
Вот простой DOM способ справиться с этим:
<form action="javascript:void(0)">
<input type="text" />
<input type="submit" onclick="doSomething(this.form)">
</form>
<script>
function doSomething(form){
alert('form submitted');
}
</script>
Поместите курсор в поле ввода , и либо если вы нажимаете кнопку или введите ввод, форма отправляется на javascript (а не на страницу)
Это решение не имеет резервной копии для пользователей, не поддерживающих javascript. –
Правильный способ - предоставить пользователям, не использующим javascript, форму отправки с обновлением страницы, но вызов javascript для тех, у кого есть javascript:
<form action="yourscript.php" method="post" onsubmit="doSomething(this.form); return false;">
<input type="text" />
<input type="submit" />
</form>
<script>
function doSomething(form){
alert('form submitted');
}
</script>
- 1. Нажав, нажмите клавишу ввода в текстовое поле
- 2. отправить текстовое поле ввода на нг щелкните
- 3. Нажмите ввод на текстовое поле ввода для отправки формы
- 4. Как отправить одноименное текстовое поле через AJAX
- 5. Повторно включите клавишу ввода нажмите на текстовое поле
- 6. Нажмите, чтобы включить текстовое поле
- 7. Как текстовое поле ввода и поле ввода?
- 8. Нажмите кнопку ввода в текстовое поле и выполните команду кнопки
- 9. Текстовое поле ввода цели iframe
- 10. Вставить мышь Нажмите Координаты в текстовое поле ввода с Javascript
- 11. Предлагайте текстовое поле ввода
- 12. Многострочное текстовое поле ввода
- 13. Текстовое поле ввода пользователя
- 14. получить текстовое поле ввода
- 15. Нажмите кнопку ввода, чтобы создать новое текстовое поле
- 16. После ввода идентификатора в текстовое поле нажмите ввести в текстовое поле заполнить данные в форме с помощью ajax php sql
- 17. Добавить поле ввода текста в текстовое поле
- 18. Текстовое поле ввода на столе
- 19. HtmlUnit, текстовое поле обновляется AJAX
- 20. Как сделать текстовое поле Отправить
- 21. Jquery для фильтрации ввода в текстовое поле
- 22. Текстовое поле для ввода нового списка
- 23. ввода для заполнения - текстовое поле Javascript
- 24. Текстовое поле ввода CSS Стилирование
- 25. Mootools: Добавить текстовое поле ввода
- 26. Вложенное текстовое поле ввода jquery
- 27. Сбросить текстовое поле после ввода
- 28. Нажмите ссылку, выделите поле ввода
- 29. Обновить текстовое поле после ввода
- 30. Отображение ввода в текстовое поле
Извините, как я могу ловить ловушку на Submit ... вы можете разработать? – Jackson
в вашем
Это также независимое от структуры решение, если вы не используете jQuery. –