Javascript 注册JSP页面在显示错误时出错

Javascript 注册JSP页面在显示错误时出错,javascript,jsp,Javascript,Jsp,下面是我的Signup.jsp。如果我输入了有效的表单,那么它的工作就正常了。如果我输入了错误的值,那么它会显示错误,当我再次键入一些vlaue而不刷新页面并提交时,如果同一字段有其他错误,则会显示旧错误和新错误 例如:如果我第一次没有输入任何名字,那么它将显示一个错误*请提供你的名字。如果我再次给同一个字段输入了一些错误的值*请提供你的名字。和*请提供有效的名字。正在显示这些信息。 当我*重置时仍会显示这些错误。如何使用重置按钮重置整个页面* 请找个人帮我解决这个问题。 span id="e

下面是我的Signup.jsp。如果我输入了有效的表单,那么它的工作就正常了。如果我输入了错误的值,那么它会显示错误,当我再次键入一些vlaue而不刷新页面并提交时,如果同一字段有其他错误,则会显示旧错误和新错误

例如:如果我第一次没有输入任何名字,那么它将显示一个错误*请提供你的名字。如果我再次给同一个字段输入了一些错误的值*请提供你的名字。和*请提供有效的名字。正在显示这些信息。

当我*重置时仍会显示这些错误。如何使用重置按钮重置整个页面*

请找个人帮我解决这个问题。

span  id="errorFirstNameMissing" style="display:none
span  id="errorFirstNameInValid" style="display:none
在jsp中,您不会在页面加载时显示错误消息

当,未给出值时

document.getElementById('errorFirstNameMissing').style.display='';
你正在使它可见

现在,当值无效时,将启用其显示:

document.getElementById('errorFirstNameInValid').style.display='';
但您尚未隐藏上一条丢失值的错误消息。它仍处于显示模式。这就是在没有页面刷新时显示这两条消息的原因

解决方案:

每次进入validate函数时,都可以隐藏这些消息

function validate(){
document.getElementById('errorFirstNameInValid').style.display='none';
document.getElementById('errorFirstNameMissing').style.display='none';
因此,每次输入验证函数时,它都会隐藏所有错误消息,并根据相应的验证仅显示相应的错误消息


您也可以在重置函数中使用相同的方法来隐藏重置时的所有错误消息。

您是否尝试过使用其
必需的
属性以及相关的HTML5表单验证属性转到HTML5?这看起来不像是一个合理的JSP。您可能还想看看Jakarta Commons Validator库。请参阅。您需要先在提交时隐藏所有错误消息,然后验证并显示错误消息。@Shiju K Babu我是javascript新手,您能用代码解释我吗?不会显示:没有人会照你说的做???@Eric Jablow,但我听说它只在firefox上运行良好??是的,HTML5需要一个相当现代的浏览器。Commons验证程序适用于所有浏览器;我在一个ApacheStruts项目中使用了它;对……如果你想让它输入“else”,你必须让它们隐藏起来。但是在您解释的场景中,“else”本身并不能很好地工作。因此,您需要在进入验证函数时将其隐藏。不,我按u所说更改了代码,但错误只会停止显示。您遇到了哪些错误?你指的是代码中的任何错误或验证错误消息吗?哦,因为它不起作用,我编辑了它k与我在问题中发布的代码相同,只是我在函数“document.getElementById('errorFirstNameInValid')的开头添加了以下代码。style.display=none;document.getElementById('errorFirstNameMissing').style.display=none;'
document.getElementById('errorFirstNameInValid').style.display='';
function validate(){
document.getElementById('errorFirstNameInValid').style.display='none';
document.getElementById('errorFirstNameMissing').style.display='none';