我正在尝试制作一个简单的Web应用程序.在我的登录页面中,我有一个带有文本字段,密码和提交按钮的表单.如果任一字段为空,则阻止表单提交.这是我使用的脚本:
function checkLoginCredentials() { var usernameFormValue = $("#usernameForm").val().trim(); var passwordFormValue = $("#passwordForm").val().trim(); var validated; $("#loginForm").submit(function(event){ if (usernameFormValue === "" || passwordFormValue === "") { $("span").html("Enter a username or password"); validated = false } else { validated = true; } return validated; }); }
但是,我注意到一旦脚本运行并且表单提交被阻止,用户就不能再尝试登录了.我能想到的唯一选择是让我的登录servlet和实用程序类完成所有验证.有没有办法解决这个问题,还是必须通过我的Java类来验证无效条目,比如空字符串?
这里的问题是您如何分配验证代码.您有一个checkLoginCredentials
,当您调用它时,您会阅读表单值.而不是你添加表单提交.您应该在submit方法中添加文本框值的读取,而不是在外部.
$("#loginForm").submit(function(event){ var usernameFormValue = $("#usernameForm").val().trim(), passwordFormValue = $("#passwordForm").val().trim(), validated; if (usernameFormValue === "" || passwordFormValue === "") { $("span").html("Enter a username or password"); validated = false } else { validated = true; } return validated; });