Javascript onsubmit不解雇我的JS

Javascript onsubmit不解雇我的JS,javascript,ajax,Javascript,Ajax,我错过了什么 <script> function validateLogIn(login) { console.log(login); var username = $("#username").val(); var password = $("#password").val(); console.log(username, password, login); $.ajax({ url: 'log

我错过了什么

<script>       
  function validateLogIn(login)
  {
    console.log(login);
    var username  = $("#username").val();
    var password  = $("#password").val();
    console.log(username, password, login);
    $.ajax({     
      url: 'login.php',    //checking the login in                     
     data: {username:username,password:password},
     type: "POST",     //Method by which data being transmitted
     dataType: 'json',                  
     success: function(data)          
    {
       console.log(data);
       login.submit();
    } 
      //else do an alert("please lgo in again");       
  });  
  return false;
 }
 </script>
</head>
<body>
     <form action="crud.html" method="post" name="form-login" onsubmit="return validateLogIn(this);">
     <input required placeholder="Username" type="text" name="username" id="username"/>
     <input required placeholder="Password" type="password" name="password" id="password"/>
     <label for="remember">Remember Me:</label>
     <input type="checkbox" name="remember" value="yes">
     <br />
     <br />
     <input type="submit" name="login" value="login" />
 </form>
 </body>

函数validateLogIn(登录)
{
console.log(登录);
var username=$(“#username”).val();
var password=$(“#password”).val();
console.log(用户名、密码、登录名);
$.ajax({
url:'login.php',//正在签入登录
数据:{用户名:用户名,密码:密码},
类型:“POST”,//传输数据的方法
数据类型:“json”,
成功:功能(数据)
{
控制台日志(数据);
login.submit();
} 
//否则发出警报(“请再次登录”);
});  
返回false;
}
记住我:



我有拼写错误吗?my console.logs在
validateLogIn()
函数中也不显示,您没有返回
false
,因此将调用该函数,但浏览器仍将继续将表单提交到
crud.html
并更改页面

function validateLogIn(login)
{
  ...
  ...
  ...
  return false;
}
如果您只想在成功函数启动后提交到
crud.html
,那么您仍然需要上面的
返回false
,并在成功函数中添加:

success: function(data)          
{
  login.submit();
} 

这段代码在我的机器上运行良好,请确保正确包含jquery库。显然
返回false

    <html>
    <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script>    

      function validateLogIn()
      {
        var username  = $("#username").val();
        var password  = $("#password").val();
        console.log(username, password, this);
        alert("Hello");
        $.ajax({     
          url: 'login.php',    //checking the login in                     
         data: {username:username,password:password},
         type: "POST",     //Method by which data being transmitted
         dataType: 'json',                  
         success: function(data)          
        {
           console.log(data);
        } 
          //else do an alert("please lgo in again");       
      });  
return false;
     }
     </script>
    </head>
    <body>
         <form action="crud.html" method="post" name="form-login" onsubmit="return validateLogIn();">
         <input required placeholder="Username" type="text" name="username" id="username"/>
         <input required placeholder="Password" type="password" name="password" id="password"/>
         <label for="remember">Remember Me:</label>
         <input type="checkbox" name="remember" value="yes">
         <br />
         <br />
         <input type="submit" name="login" value="login" />
     </form>
     </body>
     </html>

函数validateLogIn()
{
var username=$(“#username”).val();
var password=$(“#password”).val();
日志(用户名、密码、此);
警惕(“你好”);
$.ajax({
url:'login.php',//正在签入登录
数据:{用户名:用户名,密码:密码},
类型:“POST”,//传输数据的方法
数据类型:“json”,
成功:功能(数据)
{
控制台日志(数据);
} 
//否则发出警报(“请再次登录”);
});  
返回false;
}
记住我:



将日志语句更改为如下所示,log()方法接受一个参数,因此如果要打印三个变量,请将其附加到一个字符串中

console.log("username:"+username+" password:"+password+" id:"+login.id);

你这样试过吗
onsubmit=“validateLogIn(this)”
console.log()方法获取一个参数将三个参数更改为一个大字符串参数检查下面的答案以供参考谢谢我添加了这些行,但仍然没有执行JS,请参阅OPTo中的修改以避免这种情况我使用eclipse中预定义的html模板,我想对你来说也是个不错的选择