2012-12-27 32 views
1

我一直試圖從html表單提交調用一個簡單的JavaScript登錄函數,它似乎沒有調用方法。我試圖將該方法移動到外部.js類,該功能仍然無法正常工作。 Java腳本函數位於名爲Login()的標頭中,它使用表單中的變量將它們傳遞到Web服務和登錄中。我已經嘗試從外部homepage.js腳本調用其他函數,並且它們不會觸發該事件。如果登錄成功,我的意圖是推送到index.html頁面。謝謝。從HTML表單事件調用分析JavaScript函數

代碼:

<script type="text/javascript" src="http://www.parsecdn.com/js/parse-1.1.15.min.js"></script>  

    <script type="text/javascript"> 
    Parse.initialize("v9s5EdsZ4u9fSfTpr8SD0u3Xcb56nen1GWge47kV", "fjuiNrsJk3AubBY1zDfosLKDoPxzGgKlUxegxbtx"); 
function Login() 
    { 
     Parse.User.logIn(document.loginForm.uname, document.loginForm.pword, 
     { 
     success: function(user) 
     { 
      window.location="/index.html"; 
     }, 
     error: function(user, error) 
     { 
      // The login failed. Check error to see why. 
     } 
     }); 
    } 
    </script> 

    <style type="text/css"> 
     /* Override some defaults */ 
     html, body { 
     background-color: #eee; 
     } 
     body { 
     padding-top: 40px; 
     padding-bottom: 140px; 
     } 
     .container { 
     width: 300px; 
     } 

     /* The white background content wrapper */ 
     .container > .content 
     { 
     background-color: #fff; 
     padding: 20px; 
     margin: 0 -20px; 
     -webkit-border-radius: 10px 10px 10px 10px; 
      -moz-border-radius: 10px 10px 10px 10px; 
       border-radius: 10px 10px 10px 10px; 
     -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.15); 
      -moz-box-shadow: 0 1px 2px rgba(0,0,0,.15); 
       box-shadow: 0 1px 2px rgba(0,0,0,.15); 
     } 

    .login-form { 
    margin-left: 65px; 
    } 

    legend { 
    margin-right: -50px; 
    font-weight: bold; 
     color: #404040; 
    } 

    </style> 

    </head> 
    <body> 
    <div id="topBar"> 
     <button onclick="WarningSigns()" class="btn btn-danger" type="button">Warning signs</button> 
    </div> 

    <div id="content"> 
     <div id="titleContent"> 
     <h1>Bronchiectasis</h1> 
     <p id="subTitle">Self-management action plan <p> 
     </div> 
    </div> 
     <div class="container"> 
    <div class="content"> 
     <div class="row"> 
     <div class="login-form"> 
      <h2>Login</h2> 
      <form name="loginForm" action="javascript:Login()"> 
      <fieldset> 
       <div class="clearfix"> 
       <input name="uname" type="text" placeholder="Username"> 
       </div> 
       <div class="clearfix"> 
       <input name="pword" type="password" placeholder="Password"> 
       </div> 
       <button class="btn primary" type="submit">Sign in</button> 
      </fieldset> 
      </form> 
     </div> 
     </div> 
    </div> 
    </div> <!-- /container --> 



    </body> 
+0

如果我粘貼代碼到小提琴(http://jsfiddle.net/JYsZe/),然後點擊登錄我添加顯示警報(在Chrome中至少)。所以我一定是誤解你的問題。如果是這樣,請點擊編輯鏈接,以澄清您的問題。 –

+0

這個問題似乎是我的解析調用包裝在一個函數Login(),因爲它調用沒有它,我不明白 –

+0

你想調用這個API? https://www.parse.com/docs/js/symbols/Parse.User.html#.logIn –

回答

2

logIn function from the Parse API需要用戶名和密碼參數字符串值。您正在傳遞HTML元素。

通話改成這樣:

Parse.User.logIn(document.loginForm.uname.value, document.loginForm.pword.value, 
    { 
    success: function(user) 
    { 
     window.location="/index.html"; 
    }, 
    error: function(user, error) 
    { 
     alert('error '+error); 
     // The login failed. Check error to see why. 
    } 
    }); 

你應該進一步得到。

更新小提琴:http://jsfiddle.net/JYsZe/1/