我正在使用JQuery Mobile和PhoneGap构建一个简单的移动应用程序,我在第一个表单上遇到了问题,甚至没有添加任何逻辑!
到目前为止,应用程序只有一个主页,其中包含指向简单“新帐户”表单的链接。这是相关的JQuery Mobile标记HTML:
<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 -->
这一切在浏览器和带有PhoneGap的iPhone模拟器上工作正常(从主页到表单的页面转换工作,当我点击提交按钮时,应用程序将恢复到主页)。
但是当我在iPhone设备上运行时,表单提交会在设备上生成“错误加载页面”错误消息,并且表单页面保持不变。
我确信这与一个令人眼花缭乱的明显错误相关,但它让我难以接受新手。我怀疑它与JQuery Mobile在设备上处理表单提交的方式有关,但似乎奇怪的是模拟器上没有错误。
请帮忙!
答案 0 :(得分:1)
我无法为您测试,但我认为您的问题是您尝试在表单中使用POST。 如何将phonegap用于http POST?
答案 1 :(得分:1)
尝试添加jQuery代码,用于处理在加载phonegap之后调用的函数内部的表单submition - onBodyLoad()或类似的东西。 e.g:
$('#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时通常没有很多的debuging消息,尝试使用js函数
的console.log(some_object);