为什么我的表格即使在密码匹配后也没有提交
why my form is not being submitted even after the passwords match.?
这是我的一段脚本,表单id="details"
<script type="text/javascript">
function onLoad() {
$("#password").keyup(passCheck);
$("#repeatpass").keyup(passCheck);
}
function passCheck() {
var password = $("#password").val();
var repeatpass = $("#repeatpass").val();
if (password == repeatpass) {
$("#matchpass").text("Passwords match");
$("#matchpass").addClass("valid");
$("#matchpass").removeClass("error");
$("#details").submit(true);
} else {
$("#matchpass").text("Passwords donot match");
$("#matchpass").addClass("error");
$("#matchpass").removeClass("valid");
$("#details").submit(false);
}
}
$(document).ready(onLoad);
</script>
我想知道为什么我的表格(id="details")没有提交,如果有人能解释这个结构是如何工作的,它将对我更有帮助。谢谢
工作小提琴。
使用$("#details").submit()
而不是$("#details").submit(true);
,并删除$("#details").submit(false);
。
希望这能有所帮助。
您不应该在submit
函数中传递参数删除$("#details").submit(true);
和$("#details").submit(false);
它不在jquery API中。编写这段代码会更好地使用:
$( "form" ).submit(function(event) {
if ( $( "span" ).hasClass('error')) {
alert('prevented');
event.preventDefault();
}
return;
});
Fiddle Link
对于初学者,您不需要在else块中有.submit
调用。
此代码分为三个步骤:
(1) .ready
命令告诉jQuery,当页面准备好时,它应该执行名为onLoad
的函数。
(2) onLoad
函数告诉当按下键盘上的键时,应调用passCheck
函数。
(3) passCheck
函数检查两个文本是否相等,如果相等,则提交表单,否则不提交(即根本不应调用.submit)。
可能这两个密码最初都是空的,所以它们是相等的,并且尝试了.submit
,但上的一个错误阻止了脚本停止工作。之后,脚本将完全停止工作。
上面提到的关于HTML代码请求的注释和关于.submit
的参数的注释都是正确的。
相关文章:
- 在表单完成并确认密码之前,请禁用提交按钮
- 提交表单前加密密码
- 表单提交时密码不匹配(JavaScript)
- Javascript-未提交密码表单
- 在IE9中提交表单之前对密码进行哈希处理
- PHP密码脚本和JavaScript刷新冲突,发出我想消除的表单重新提交消息
- 在 Laravel 中提交表单之前确认密码
- 在提交表单之前对客户端进行哈希密码哈希处理的简单方法
- 使用javascript验证密码并取消表单提交
- 提交表单前散列密码
- 为什么我的表格即使在密码匹配后也没有提交
- 如何创建密码登录模式,单击提交按钮,然后使用bootstrap 3打开另一个包含链接的模式
- 如何防止在提交登录表单时清除我的密码
- 使用提交限制验证密码时出错
- 在提交表单之前删除密码中的所有空格
- 在提交之前在javascript中加密密码有意义吗?
- 业务催化剂:是否可以提交密码检索请求表单并通过AJAX显示结果密码检索确认页面?
- 需要特定用户名/密码才能将表单提交到服务器的函数
- 从数据库中检索散列PHP密码,并在Javascript中检查提交的密码
- 通过ajax提交密码