我正在使用Phonegap和Parse.com构建一个Android应用程序,以帮助"数据库"管理。我有一个html表单持有用户"用户名"和用户"密码"与id"adduserbutton"提交输入按钮。
这是我的login.html表单。(注意,这个html文件引用了一个名为"main.js"的文件,该文件存储了注册用户背后的逻辑。 <form id ="adduser">
<label for="text-3">Username:</label>
<input type="text" data-clear-btn="true" id="username" id="text-3" placeHolder="Enter Desired Username">
<label for="text-3">Password:</label>
<input type="text" data-clear-btn="true" id="password" id="text-3" placeholder="Enter Desired Password">
<input type="submit" id="adduserbutton" value="Add User">
</form>
此表单将接受用户名和密码(尚未散列,此时只是测试)。js等待"adduserbutton"被点击,然后应该运行一个函数。这就是问题所在,所以这里是我的main.js代码:
//Parse related keys
var PARSE_APP = "hidden for sake of post";
var PARSE_JS = "hidden for sake of post";
$(document).ready(function() {
Parse.initialize(PARSE_APP, PARSE_JS);
var user = new Parse.User();
$("#adduserbutton").on("touchend", function(e) {
alert("here");
e.preventDefault();
//Grab the user details, no real validation for now
var username = $("#username").val();
user.set("username", username);
var password = $("#password").val();
user.set("password", password);
user.signUp(null, {
success: function(user) {
alert("it worked")
},
error: function(user, error) {
alert("error");
}
});
});
正如你所看到的,这里"应该"发生的是:
- 所需用户名中的用户类型&输入密码,点击提交按钮。
- "adduserbutton"被点击,触发main.js存储数据?
- 用户名和密码形式文本字段存储到用户解析对象。
- 注册到我的解析表的用户。
然而,我点击提交按钮,页面闪烁(似乎刷新),什么也没发生。没有错误,没有任何东西显示在我的数据库中。任何帮助吗?谢谢!
我认为这是触摸端已知的错误,这取决于你使用的android版本:
https://code.google.com/p/android/issues/detail?id=19827否则我只能推荐使用一些工具进行调试:
涟漪模拟器
和chrome工具供开发人员调试和查看是否
$ (" # adduserbutton ")。在"touchend"上,函数(e)完全触发。似乎不是一个解析的东西,我猜你的API请求,解析收到是0或至少不增加。
希望这对你有帮助!
问题解决!
将Main.js中的js行从:
$("#adduserbutton").on("touchend", function(e) {
alert("here");
e.preventDefault();
:
document.getElementById('adduserbutton').onclick = function() {