Проблема с отправкой формы в PhoneGap - PullRequest
1 голос
/ 05 мая 2011

Я создаю простое мобильное приложение, используя JQuery Mobile и PhoneGap, и у меня возникли проблемы в моей первой форме, даже не добавляя никакой логики!

Пока что у приложения есть домашняя страница со ссылкой на простую форму «нового аккаунта». Вот соответствующий HTML-код с разметкой JQuery Mobile:

<div id="home" data-role="page">
    <div data-role="header">
        <h1>Home</h1>
    </div>

    <div data-role="content">
        <a href="#newAccountPage" data-role="button">New Account</a> 
    </div>

</div>

<div id="newAccountPage" data-role="page">
    <div data-role="header">
        <h1>Add New Account</h1>
    </div>

    <div id="newAccountContent" data-role="content">
        <form id="newAccountForm" action="#" method="post">
        <div data-role="fieldcontain">
            <label for="accountCode">Account Code</label> 
            <input id="accountCode" name="account-code" type="text"/>                           
            <label for="accountDesc">Description</label>  
            <textarea id="accountDesc" cols="40" rows="10" name="account-desc"></textarea>
        </div>

        <div id="buttonDiv" align="center">
            <input type="submit" value="New" data-inline="true"/>
        </div>
        </form>
    </div> <!-- newAccountContent --> 
</div> <!-- newAccount -->

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

Однако, когда я запускаю это на самом устройстве iPhone, отправка формы генерирует сообщение об ошибке «Ошибка загрузки страницы» на устройстве, и страница формы остается на месте.

Я уверен, что это связано с ослепительно очевидной ошибкой, но это поставило меня в тупик как новичка. Я подозреваю, что это связано с тем, как JQuery Mobile обрабатывает отправку форм на устройстве, но кажется странным, что в симуляторе нет ошибок.

Помогите пожалуйста!

Ответы [ 2 ]

1 голос
/ 24 ноября 2011

попробуйте добавить код jQuery для обработки субмиссии формы внутри функции, которая вызывается после загрузки phonegap - onBodyLoad () или что-то подобное.Например:

$('#your-form-id').submit(function() {
           var params = $('#your-form-id').serializeArray();

           //you can either send the data to remote server
           $.post(http://localhost/myserver,params, function(){
                    alert("sending data");
           });
           //or you can process it on client side
           //which would require storing data inside of some storage etc.
});

обычно при использовании phonegap не так много сообщений отладки, попробуйте использовать функцию js

console.log (some_object);

и взгляните на weinre (http://muellerware.org/papers/weinre/manual.html)

1 голос
/ 05 мая 2011

Я не могу проверить это для вас, но я думаю, что ваша проблема в том, что вы пытаетесь использовать POST в форме. Как телефонный разрыв должен обслуживать HTTP POST?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...