jQuery Mobile: Как динамически отправить форму через ajax? - PullRequest
1 голос
/ 11 сентября 2011

В настоящее время у меня есть форма с вводом 'select'.Когда пользователь выбирает параметр, я хочу, чтобы форма отправлялась автоматически.

Вот мой текущий код:

<form method="get">
    <select name="category" data-native-menu="false" onchange="this.form.submit()">
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
    </select>
</form>

В настоящее время, когда пользователь выбирает один из параметров, форма отправляется,Тем не менее, она отправляется без ajax.

Итак, есть ли специальная функция jQuery Mobile, которую мне нужно вызвать, чтобы получить форму для отправки через ajax, как это делают формы по умолчанию, когда ониотправлено с помощью кнопки отправки?

Редактировать:

Вот решение, которое я нашел:

<form action='myPage' method="get" id='myForm'>
    <select name="category" data-native-menu="false" onchange="$.mobile.changePage( 'myPage', {type: 'get', data: $('form#myForm').serialize()} );">
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
    </select>
</form>

Ответы [ 2 ]

1 голос
/ 11 сентября 2011

Попробуйте что-нибудь подобное, чтобы получить объект FormData :

var formData = $('form')[0].getFormData()

В качестве альтернативы, посмотрите документацию serialize из документации jQuery:

$('form').submit(function() {
    alert($(this).serialize());
    return false;
});

Возвращаемое значение false предотвращает запуск обработчика отправки формы. Вместо предупреждения сделайте что-нибудь с данными (например, вставьте это в ваш обработчик ajax).

Edit:

ОП сказал, что проблема была решена путем чтения этой страницы: http://jquerymobile.com/demos/1.0b3/docs/api/methods.html

0 голосов
/ 20 апреля 2012

Я использую что-то вроде этого:

<form action='myPage' method="get" id='myForm'>
    <select name="category" data-native-menu="false" onchange="$(this.form).trigger('submit');">
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
    </select>
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...