使用jQuery调用外部函数

时间:2014-04-02 23:55:54

标签: javascript php jquery function

我有一个外部js文件,其中包含以下代码,用于检查人员登录凭据是真还是假。当我把这个jquery放到实际的php文件中时,它会按预期工作,但是当我将jQuery放入js文件并尝试调用它时它没有工作,我没有得到任何错误。电话有什么问题?

js file:

function handleLogin(event) {

    // Stop form from submitting normally
    event.preventDefault();

    // Get some values from elements on the page:
    var $form = $( this ),
    username = $form.find( "input[name='username']" ).val(),
    password = $form.find( "input[name='password']" ).val(),
    url = "../process/login.php";

    // Send the data using post
    var posting = $.post( url, { username: username, password: password } );

    // Reset data in #testStatus textarea
    posting.done(function( data ) {
        if (data == '1') {
           $('#loginModal').modal('hide')
           $( "#loginOption" ).replaceWith( "<li id='loginOption'><a href='logout.php'>Logout</a></li>" );
        }
    });
}

php文件(位于php文件末尾的函数的调用):

        <!-- Modal -->
    <div class="modal fade" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
      <div class="modal-dialog">
        <div class="modal-content">
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
            <h4 class="modal-title" id="loginModalLabel">Login</h4>
          </div>
          <div class="modal-body">
            <form id="loginForm" action="">
              <div class="form-group">
                <label for="username">Username</label>
                <input name="username" type="text" class="form-control" id="username" placeholder="Username">
              </div>
              <div class="form-group">
                <label for="password">Password</label>
                <input name="password" type="password" class="form-control" id="password" placeholder="Password">
              </div>
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
            <input type="submit" id="loginSubmit" name="login" class="btn btn-primary" value="Login">
          </div>
          </form>
        </div>
      </div>
    </div>

<script>
$("#loginForm").submit(function handleLogin() { });
</script>

2 个答案:

答案 0 :(得分:0)

您需要将函数引用传递给submit事件处理程序...

相反,您正在创建一个对提交处理程序没有任何作用的新函数,请尝试

$("#loginForm").submit(handleLogin);

答案 1 :(得分:0)

应该是这样的:

$("#loginForm").submit(function(e){
  handleLogin(e);
});