2012-01-28 42 views
1

我想玩jquery移动,但在Android模拟器上运行此时,无处可去。服务电话永远不会被触发。该handleSubmit功能从未called.Here是我是继博客:jquery移动服务调用永远不会发生

http://www.raymondcamden.com/index.cfm/2011/11/10/Example-of-serverbased-login-with-PhoneGap

这里是我的index.html

<!DOCTYPE HTML> 
    <html> 

    <head> 
     <meta name="viewport" content="width=320; user-scalable=no" /> 
     <meta http-equiv="Content-type" content="text/html; charset=utf-8"> 
     <title>Create Your Account</title> 
     <meta name="viewport" content="width=device-width, initial-scale=1"> 
     <link rel="stylesheet" href="css/jquery.mobile-1.0.1.min.css" /> 
     <script src="js/jquery-1.6.4.min.js"></script> 
     <script type="text/javascript" charset="utf-8" src="js/phonegap-1.3.0.js"></script> 
     <script src="js/jquery.mobile-1.0.1.min.js"></script> 
     <script type="text/javascript" charset="utf-8" src="js/main.js"></script> 
    </head> 

    <body onload="init();"> 

    <div id="loginPage" data-role="page"> 

     <div data-role="header"> 
      <h1>Sign Up</h1> 
     </div> 

     <div data-role="content">  

      <form id="loginForm"> 
      <div data-role="fieldcontain" class="ui-hide-label"> 
       <label for="username">Username:</label> 
       <input type="text" name="username" id="username" value="" placeholder="Username" /> 
      </div> 

      <div data-role="fieldcontain" class="ui-hide-label"> 
       <label for="password">Password:</label> 
       <input type="password" name="password" id="password" value="" placeholder="Password" /> 
      </div> 

      <input type="submit" value="Login" id="submitButton"> 
      </form> 

     </div> 

     <div data-role="footer"> 
      <h4>&copy;</h4> 
     </div> 

    </div> 

    <script> 
    $("#loginPage").live("pageinit", function(e) { 
      checkPreAuth(); 
     }); 
    </script> 

    </body> 
    </html> 

这里是main.js

function init() { 
    document.addEventListener("deviceready", deviceReady, true); 
    delete init; 
    } 


    function checkPreAuth() { 
     var form = $("#loginForm"); 
     if(window.localStorage["username"] != undefined && window.localStorage["password"] != undefined) { 
      $("#username", form).val(window.localStorage["username"]); 
      $("#password", form).val(window.localStorage["password"]); 
      handleLogin(); 
     } 
    } 

    function handleLogin() { 
     var form = $("#loginForm");  
     //disable the button so we can't resubmit while we wait 
     $("#submitButton",form).attr("disabled","disabled"); 
     var u = $("#username", form).val(); 
     var p = $("#password", form).val(); 
     console.log("click"); 
     if(u != '' && p!= '') { 
      $.post("http://10.0.2.2:9000/sample1/processsubmit", {username:u,password:p}, function(res) { 
       if(res == true) { 
        //store 
        window.localStorage["username"] = u; 
        window.localStorage["password"] = p;    
        $.mobile.changePage("some.html"); 
       } else { 
        navigator.notification.alert("Your login failed", function() {}); 
       } 
      $("#submitButton").removeAttr("disabled"); 
      },"json"); 
     } else { 
      //Thanks Igor! 
      navigator.notification.alert("You must enter a username and password", function() {}); 
      $("#submitButton").removeAttr("disabled"); 
     } 
     return false; 
    } 

    function deviceReady() {  
     console.log("deviceReady"); 
     $("#loginForm").on("submit",handleLogin); 
    }; 

    $(document).bind("mobileinit", function() { 
     // Make your jQuery Mobile framework configuration changes here! 

     $.mobile.allowCrossDomainPages = true; 
    }); 

任何想法我错过了什么?我正在将该服务作为一个播放框架服务运行。

+0

哪部分不工作?试着清楚和准确地解决问题。 – h3xStream 2012-01-28 20:42:05

+0

所以有人看到上面的代码有什么问题吗?任何其他的例子可以让我指出他们在哪里调用服务? – retrobrain 2012-01-29 00:37:33

+0

脚本是否从http://10.0.2.2访问?请参阅相同的源策略。 – h3xStream 2012-01-31 05:08:30

回答

1

我看不到任何名为handleSubmit的函数。

我会先在javascript中设置一些断点,并确保您期望触发的事件实际上正在触发。

+0

有以下功能:function deviceReady(){console.log(“deviceReady”); (“#loginForm”)。on(“submit”,handleLogin); }; – retrobrain 2012-01-31 03:20:43

相关问题