Javascript 登录表单提交按钮不工作

Javascript 登录表单提交按钮不工作,javascript,php,jquery,html,forms,Javascript,Php,Jquery,Html,Forms,我使用PHP创建了一个简单的单字密码登录。密码存储在php文件中-我知道这不是非常安全,但我只希望人们不能进入该网站 为了测试密码,密码为密码 您可以看到,当jQuery出现错误时,我会产生jQuery抖动效果 我的问题: 为什么我的“提交”按钮在点击“提交”按钮时不能使用正确的密码,为什么点击“返回”按钮与“提交”按钮的行为不同 我的代码: HTML: ) 编辑:我将PHP中的'else'留空,因为jQuery正在处理错误 我无法让JSFIDLE实现这一点,但这里是正在运行的站点(这也是一个测

我使用PHP创建了一个简单的单字密码登录。密码存储在php文件中-我知道这不是非常安全,但我只希望人们不能进入该网站

为了测试密码,密码为密码

您可以看到,当jQuery出现错误时,我会产生jQuery抖动效果

我的问题:

为什么我的“提交”按钮在点击“提交”按钮时不能使用正确的密码,为什么点击“返回”按钮与“提交”按钮的行为不同

我的代码:

HTML:

)

编辑:我将PHP中的'else'留空,因为jQuery正在处理错误

我无法让JSFIDLE实现这一点,但这里是正在运行的站点(这也是一个测试版本)


使用输入类型提交而不是按钮



否则,您可以使用输入类型按钮并使用AJAX提交表单。

使用输入类型提交而不是按钮



否则,您可以使用输入类型按钮并使用AJAX提交表单。

您没有提交表单,这就是为什么它没有进行身份验证

您只需将输入类型从“按钮”更改为“提交”:

<input type="submit" name="Submit" id="submit_butt" value="Submit" formaction="php/login.php"/>

你没有提交表单,这就是为什么它没有进行身份验证

您只需将输入类型从“按钮”更改为“提交”:

<input type="submit" name="Submit" id="submit_butt" value="Submit" formaction="php/login.php"/>

您不应该将侦听器附加到submit按钮,而应该在表单的submit操作上注册一个侦听器。通过这种方式,您可以捕获“提交”按钮的单击(一旦它变为“提交”按钮,如其他问题所述)和某人在键盘上按enter键:

$(".login-form").on("submit", function(e)
{

    // Stop the form submitting
    e.preventDefault();

    // Do your checks for errors

    // If there are none

    $(this)[0].submit();

});

您不应该将侦听器附加到submit按钮,而应该在表单的submit操作上注册一个侦听器。通过这种方式,您可以捕获“提交”按钮的单击(一旦它变为“提交”按钮,如其他问题所述)和某人在键盘上按enter键:

$(".login-form").on("submit", function(e)
{

    // Stop the form submitting
    e.preventDefault();

    // Do your checks for errors

    // If there are none

    $(this)[0].submit();

});

服务器返回一个
http302
,而不是
http200
。我能够登录,但我确实看到了震动和一个
Oops…
基本上是由于糟糕的逻辑

Remote Address:212.48.79.185:80
Request URL:http://hea.getevent.info/php/login.php
Request Method:POST
Status Code:302 Moved Temporarily
Request Headersview source
你的逻辑看起来不太正确,除非我遗漏了什么。我们无法看到您的ajax,但以下语句需要出现在ajax调用的成功回调中。enter和button click对我来说都是一样的在ajax调用完成之前,下面的代码触发得太早,而且您也没有阻止默认表单提交,所以它也提交了。。。。两次。

   // this is the call we make when the AJAX callback function indicates a login failure 
    $("#login").vibrate(conf);

    // let's also display a notification
    if($("#errormsg").text() == "")
        $("#loginform").append('<p id="errormsg">Oops, wrong password!</p>');

服务器返回一个
http302
,而不是
http200
。我能够登录,但我确实看到了震动和一个
Oops…
基本上是由于糟糕的逻辑

Remote Address:212.48.79.185:80
Request URL:http://hea.getevent.info/php/login.php
Request Method:POST
Status Code:302 Moved Temporarily
Request Headersview source
你的逻辑看起来不太正确,除非我遗漏了什么。我们无法看到您的ajax,但以下语句需要出现在ajax调用的成功回调中。enter和button click对我来说都是一样的在ajax调用完成之前,下面的代码触发得太早,而且您也没有阻止默认表单提交,所以它也提交了。。。。两次。

   // this is the call we make when the AJAX callback function indicates a login failure 
    $("#login").vibrate(conf);

    // let's also display a notification
    if($("#errormsg").text() == "")
        $("#loginform").append('<p id="errormsg">Oops, wrong password!</p>');


“提交”按钮不起作用和“返回”的行为不同是什么意思。你能解释一下具体的问题吗?用正确的密码点击回车键,你就可以进入网站了。用错误的密码按enter键将显示空白的“login.php”。做同样的事情,然后点击提交只是说oops错误的密码什么意思提交按钮不工作和返回行为不同。你能解释一下具体的问题吗?用正确的密码点击回车键,你就可以进入网站了。用错误的密码按enter键将显示空白的“login.php”。做同样的事情,然后点击提交只是说oops错误的密码太棒了-但是在加载站点之前,这一操作持续了一秒钟,我收到了错误消息:(因此,我更改了输入类型,使提交按钮能够正确使用密码并加载站点,但在执行此操作时,它会抖动大约一秒钟,并在进入站点之前显示“哎呀,出现了错误的密码”YUP:)工作,但表单的错误部分发生在输入K wat用户名和您输入的pwd之前?以便我可以测试。10分钟后,您可以更改密码这是一个测试密码-键入密码将工作:)真棒-这工作了一秒钟,但在加载网站之前,我收到了错误消息:(因此,我更改了输入类型,使提交按钮能够正确使用密码并加载站点,但在执行此操作时,它会抖动大约一秒钟,并在进入站点之前显示“哎呀,出现了错误的密码”YUP:)工作,但表单的错误部分发生在输入K wat用户名和您输入的pwd之前?以便我可以测试。10分钟后,您可以更改密码这是一个测试密码-键入密码将工作:)我看到您的逻辑!所以这是针对整个表单,而不仅仅是提交。。。在e.default()下;我写我的if{}else{$(this)[0].submit();}?是的,没错。通过这种方式,您可以捕获表单的所有提交事件,因为用户可能不会单击提交按钮,而是在键盘上按enter键我看到了您的逻辑!所以这是针对整个表单,而不仅仅是提交。。。在e.default()下;我写我的if{}else{$(this)[0].submit();}?是的,没错。通过这种方式,您可以捕获表单的所有提交事件,因为用户可能不会单击“提交”按钮,而是在键盘上按enter键。这对我来说是全新的,加上它是从各种教程中组合而成的,所以是的,绝对是糟糕的逻辑!!:)我将尝试实现这一点,并将更新我的实现方式(您将实现…:)我的经验是,通过尝试,我学得更快。。。我越努力。。。。我犯的错误越多。。。。我犯的错误越多,学到的东西就越多。所以一切都很好;你在正确的轨道上
   // this is the call we make when the AJAX callback function indicates a login failure 
    $("#login").vibrate(conf);

    // let's also display a notification
    if($("#errormsg").text() == "")
        $("#loginform").append('<p id="errormsg">Oops, wrong password!</p>');
$("#submit_butt").click( function(e) {
     e.preventDefault();
     .......
});