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