1

htmlフォームの送信から単純なjavascriptログイン関数を呼び出そうとしましたが、メソッドを呼び出していないようです。メソッドを外部の.jsクラスに移動しようとしましたが、関数がまだ機能していません。JavaScript関数はLogin()と呼ばれるヘッダーにあり、フォームの変数を使用してWebサービスに変数を渡してログインします。外部のhomepage.jsスクリプトから他の関数​​を呼び出そうとしましたが、それらはイベントを発生させません。私の意図は、ログインが成功した場合にindex.htmlページにプッシュすることです。ありがとう。

コード:

<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>
4

1 に答える 1

2

logInParse 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/

于 2012-12-27T21:19:23.543 に答える