Как вызвать функцию AJAX при отправке формы через JavaScript в Android, PhoneGap и JQuerymobile - PullRequest
1 голос
/ 01 марта 2012

У меня есть HTML-форма с двумя входными полями и кнопкой отправки.

Когда я нажимаю кнопку отправки, она входит в мою функцию javascript ... но она не вызывает функцию ajax, написанную в ней.

Вместо вызова функции ajax страница перезагружается

Ответы [ 2 ]

3 голосов
/ 01 марта 2012

Вы не только должны использовать event.preventDefault() (или return false) в своем обработчике событий, но вы также должны специально отключить AJAX-навигацию для формы, чтобы jQuery Mobile не делал собственную отправку формы:

Вот один из способов использования data-ajax (рекомендуется):

<form data-ajax="false">

Вы также можете сделать это, изменив значение по умолчанию jQuery Mobile, когда происходит событие 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.1/docs/api/globalconfig.html

0 голосов
/ 01 марта 2012

Вы отключили действие отправки формы, используя

e.preventDefaults()

. Можете ли вы показать часть своего кода?

...