Обнаружение успешной отправки html-формы с помощью POST в междоменный скрипт из мобильного приложения jQuery PhoneGap - PullRequest
1 голос
/ 17 января 2012

Я создаю мобильное приложение iOS на основе jQuery для оценки курсов в моем университете. Университет предоставляет платформу оценки курса, которая использует обычную html-форму с method = "POST".

Поскольку сценарий принадлежит моему хосту и находится в нем, я не могу ни редактировать, ни читать его.

<form action="http://example.com/script/kurt2/receive.php" method="post" target="result" onsubmit="" id="klinikkurt">
<input type="hidden" name="id" value="4136" />
<input type="range" name="q1" value="" min="1" max="6"  data-track-theme="d" data-theme="d"/>
</form>

При успешной отправке скрипт перенаправляет на страницу благодарности, что делает приложение бесполезным. Добавление цели в форму и скрытый iframe позволяют использовать приложение при отправке.

Я хотел бы отобразить сообщение с благодарностью и сбросить форму в приложении после успешной отправки, проблема (и мой вопрос) в том, что я не знаю, как определить успешную отправку формы.

Я пытался использовать событие onLoad в iframe, и хотя он будет выполнять javascript при успешной отправке, он также будет выполнять функцию при начальной загрузке.

UPDATE

Согласно предложению Илии, я пытался (безуспешно) достичь этого, используя jaquery .ajax
Это мой код:
HTML: как и выше, но я удалил атрибут действия в форме.

Javascript:

$("#klinikkurt").submit(function() {
var dataString = $("#klinikkurt").serialize();
$.ajax({
    url: 'https://doit.medfarm.uu.se/script/kurt2/receive.php',
    type: "POST",
    data: dataString,
    success: function() {
        $('#kk').load('index.html');
    }
});
return false;
});

При отправке ничего не происходит, кроме обновления.

Ответы [ 2 ]

3 голосов
/ 17 января 2012

как насчет использования AJAX для отправки содержимого формы?Это позволит вам обрабатывать результат HTTP-запроса в вашем JS вместо того, чтобы браузер обрабатывал его напрямую ...

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

Сайты социальных закладок, такие как Digg и Reddit, позволяют пользователям выбирать основное содержание сайта, голосуя за контент, который нравится пользователям. Они используют AJAX для обработки всего голосования, чтобы пользователи могли быстро и легко высказать свое мнение по ряду статей.

...