Как вызвать функцию AJAX при отправке формы через JavaScript в Android, PhoneGap и JQuerymobile

1

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

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

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

Теги:
cordova
jquery-mobile

2 ответа

3

Вы не только должны использовать 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

0

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

e.preventDefaults()

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

  • 0
    <script type = "text / javascript"> function show () {alert ("here"); var frm = document.western.sfrom; var to = document.western.sto; var time1 = document.western.time1; if (frm.value == to.value) {alert («Источник и пункт назначения не могут быть одинаковыми»); вернуть ложь; } populateList (' 118.139.185.240/transferjunction/… ); } </ script>
  • 0
    Вы можете отформатировать свой код так, чтобы он мог читать его ... плюс я не уверен, что вы используете jquery или нативный код javascript ... из того, что я прочитал, это нативный код javascript .. верно?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню