У меня есть html-форма с двумя входными полями и кнопкой отправки.
Когда я нажимаю кнопку отправки, она переходит в мою функцию javascript... но она не вызывает функцию ajax, написанную в ней.
Вместо вызова функции ajax страница перезагружается
Вы не только должны использовать event.preventDefault()
(или return false
) в обработчик событий, но вы должны специально отключить навигацию AJAX для формы, чтобы jQuery Mobile не выполнял ее самостоятельно:
Вот один из способов использования data-ajax
(рекомендуется):
<form data-ajax="false">
Вы также можете сделать это, изменив значение по умолчанию jQuery Mobile, когда mobileinit
событие mobileinit
:
<script src="jQuery-Core.js"></script>
<script>
$(document).bind("mobileinit", function(){
$.mobile.ajaxEnabled = false;
});
</script>
<script src="jQuery-Mobile.js"></script>
Обратите внимание на порядок тегов <script>
. Недостатком этого метода является то, что он отключает навигацию AJAX для всех элементов, а не только одну форму, с которой вы имеете дело, поэтому я рекомендую использовать атрибут data: http://jquerymobile.com/demos/1.1.0-rc 0,1/документы/API/globalconfig.html
вы отключили действие отправки формы, используя
e.preventDefaults()
можете ли вы показать часть своего кода?