gpt4 book ai didi

javascript - 注册JSP页面显示错误时出错

转载 作者:行者123 更新时间:2023-11-28 01:36:33 25 4
gpt4 key购买 nike

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

例如:如果第一次我没有输入任何名字,那么它将显示错误*请提供您的名字。如果我再次为同一字段提供错误的值*请提供您的名。 *请提供有效的名字。正在显示。

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

<form action="RegisterServlet" method="post" name="Register" onSubmit="return validate()">
<table>
<tr>
<td>First Name* : </td>
<td><input type="text" name="txtFname" id="fname" maxlength="30" onKeyup="capitalize(this)"/><br/>
<span id="errorFirstNameMissing" style="display:none;"><font color="red">*Please provide your first name.</font></span>
<span id="errorFirstNameInValid" style="display:none;"><font color="red">*Please provide a valid first name.</font></span>
</td>
</tr>
<tr>
<td>Last Name* : </td>
<td><input type="text" name="txtLname" id="lname" maxlength="30" onKeyup="capitalize(this)"/><br/>
<span id="errorLastNameMissing" style="display:none;"><font color="red">*Please provide your Last name.</font></span>
<span id="errorLastNameInValid" style="display:none;"><font color="red">*Please provide a valid Last name.</font></span>
</td>
</tr>
<tr>
<td>Gender* : </td>
<td><select name = "txtGender" id="gender">
<option value="unknown">Select your Gender</option>
<option value="Male">Male</option>
<option value="Female">Female</option>
</select><br/>
<span id="errorMissingGender" style="display:none;"><font color="red">*Please select a Gender.</font></span>
</td>
</tr>
<tr>
<td>Category* : </td>
<td><select name = "txtCategory" id="category">
<option value="unknown">Select your Category</option>
<option value="Affiliate">Affiliate</option>
<option value="Client">Client</option>
<option value="Admin">Admin</option>
</select><br/>
<span id="errorMissingCategory" style="display:none;"><font color="red">*Please select a Category.</font></span>

</td>
</tr>
<tr>
<td><script type="text/javascript"
src="js/Calendar.js"></script>
</td>
</tr>

<tr>
<td>Age :</td>
<td><input type=text name=txtAge id="ageId" readonly style="width: 20px;background-color:#D0D0D0;border:none"/>yrs.</td>
</tr>

<tr>
<td>Address* : </td>
<td><textarea rows="5" name="txtAddr" id="addr" cols="30"></textarea><br/>
<span id="errorMissingAddress" style="display:none;"><font color="red">*Please provide a valid Address.</font></span>
</td>
</tr>
<tr>
<td>State* :</td>
<td> <select onchange="print_city('city',this.selectedIndex);" id="state" name ="txtState"></select><br/>
<span id="errorMissingState" style="display:none;"><font color="red">*Please select a state.</font></span>

</td>
</tr>
<tr>
<td>City* :</td> <td><select name ="txtCity" id ="city"></select>
<script language="javascript">print_state("state");</script><br/>
<span id="errorMissingCity" style="display:none;"><font color="red">*Please select a city.</font></span>
</td>
</tr>

<tr>
<td>Pincode* : </td>
<td><input type="text" name="txtPin" id="pin"/><br/>
<span id="errorMissingPinCode" style="display:none;"><font color="red">*Please provide your Pincode.</font></span>
<span id="errorPinCodeInvalid" style="display:none;"><font color="red">*Please provide a valid Pincode.</font></span>
</td>
</tr>
<tr>
<td>e-Mail* : </td>
<td><input type="text" name="txtEmail" id="email"/><br/>
<span id="errorMissingEmail" style="display:none;"><font color="red">*Please provide your emailId.</font></span>
<span id="errorEmailInvalid" style="display:none;"><font color="red">*Please provide a valid emailId.</font></span>
</td>
</tr>
<tr>
<td>Contact Number : </td>
<td><input type="text" name="txtStd" id="std" maxlength="6" style="width: 40px"/>-<input type="text" name="txtPhone" id="phone" maxlength="8"/><br/>
<span id="errorStdCodeInvalid" style="visibility:hidden;"><font color="red">*Please provide a valid std code.</font></span>
<span id="errorPhoneNoInvalid" style="visibility:hidden;"><font color="red">*Please provide a valid contact no.</font></span>
</td>
</tr>

<tr>
<td>Mobile Number* : </td>
<td>+91-<input type="text" name="txtMobile" id="mobile" maxlength="10"/><br/>
<span id="errorMissingMobileNo" style="display:none;"><font color="red">*Please provide your mobile number.</font></span>
<span id="errorMobileNoInvalid" style="display:none;"><font color="red">*Please provide a valid mobile number.</font></span>
</td>
</tr>
</table>
<br/>
<p><font color="red">Note: All the fields marked with * are mandatory.</font></p>
<p><input type="checkbox" name="chkAgree" onclick="EnableSubmit(this)" /><font color="green"> I here by declare that the above data entered by me is true to my knowledge.</font> </p>
<br/>

<div class="style2">
<table>
<tr>
<td><button type="submit" id="submit" disabled style="width: 80px;height: 40px">Submit</button></td>
<td><div class="divider"></div></td>
<td><button type="reset" style="width: 80px;height: 40px">Reset</button></td>
</tr>
</table>
</div>
</form>

下面是我在 javascript 中的 validate() 代码

        function validate(){
var valid = true;
var validationMessage = 'Please correct the following errors:\r\n';
var regex=/^([A-Za-z]{3,30}$)/;
var lregex=/^([A-Za-z]{1,30}$)/;
var pinRegex=/^[0-9]{0,6}$/;
var emailRegex=/^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
var stdRegex=/^[0-9]{0,6}$/;
var phoneRegex=/^[0-9]{0,8}$/;
var mobileRegex=/^[0-9]{10}$/;
var dateRegex=/^\d{2}\/\d{2}\/\d{4}$/;



if (document.getElementById('fname').value.length == 0) {
validationMessage = validationMessage + ' - First name is missing\r\n';
document.getElementById('errorFirstNameMissing').style.display='';
valid = false;
}
else if(!regex.test(document.getElementById('fname').value)){
validationMessage = validationMessage + ' - First name is not valid can contain only letters from A-z and a-z\r\n';
document.getElementById('errorFirstNameInValid').style.display='';
valid = false;
}
else{
document.getElementById('errorFirstNameMissing').style.display='none';
document.getElementById('errorFirstNameInValid').style.display='none';
}



if (document.getElementById('lname').value.length == 0){
validationMessage = validationMessage + ' - Last name is missing\r\n';
document.getElementById('errorLastNameMissing').style.display='';
valid = false;
}
else if(!lregex.test(document.getElementById('lname').value)){
validationMessage = validationMessage + ' - Last name is not valid can contain only letters from A-z and a-z\r\n';
document.getElementById('errorLastNameInValid').style.display='';
valid = false;
}
else {
document.getElementById('errorLastNameMissing').style.display='none';
document.getElementById('errorLastNameInValid').style.display='none';
}

if (document.getElementById('gender').value == 'unknown'){
validationMessage = validationMessage + ' - Please select a gender\r\n';
document.getElementById('errorMissingGender').style.display='';
valid = false;
}
else {
document.getElementById('errorMissingGender').style.display='none';
}

if (document.getElementById('category').value == 'unknown'){
validationMessage = validationMessage + ' - Please select a category\r\n';
document.getElementById('errorMissingCategory').style.display='';
valid = false;
}
else {
document.getElementById('errorMissingCategory').style.display='none';
}

if ((document.getElementById('SnapHost_Calendar').value.length == 0)){
validationMessage = validationMessage + ' - Date of Birth is missing\r\n';
document.getElementById('errorMissingDOB').style.display='';
valid = false;
}
else if(!dateRegex.test(document.getElementById('SnapHost_Calendar').value)){
validationMessage = validationMessage + ' - Date is not valid should be in the format mm/dd/yyyy\r\n';
document.getElementById('errorDateInvalid').style.display='';
valid = false;
}
else {
document.getElementById('errorMissingDOB').style.display='none';
document.getElementById('errorDateInvalid').style.display='none';
}

if (document.getElementById('addr').value.length == 0){
validationMessage = validationMessage + ' - Address is missing\r\n';
document.getElementById('errorMissingAddress').style.display='';
valid = false;
}
else {
document.getElementById('errorMissingAddress').style.display='none';
}

if (document.getElementById('state').value == ''){
validationMessage = validationMessage + ' - Please select a state\r\n';
document.getElementById('errorMissingState').style.display='';
valid = false;
}
else {
document.getElementById('errorMissingState').style.display='none';
}


if (document.getElementById('city').value == ''){
validationMessage = validationMessage + ' - Please select a city\r\n';
document.getElementById('errorMissingCity').style.display='';
valid = false;
}
else {
document.getElementById('errorMissingCity').style.display='none';
}

if (document.getElementById('pin').value.length == 0){
validationMessage = validationMessage + ' - Pin code is missing\r\n';
document.getElementById('errorMissingPinCode').style.display='';
valid = false;
}
else if(!pinRegex.test(document.getElementById('pin').value)){
validationMessage = validationMessage + ' - Pin code is not valid can contain only digits from 0-9\r\n';
document.getElementById('errorPinCodeInvalid').style.display='';
valid = false;
}
else{
document.getElementById('errorMissingPinCode').style.display='none';
document.getElementById('errorPinCodeInvalid').style.display='none';
}


if (document.getElementById('email').value.length == 0){
validationMessage = validationMessage + ' - Email is missing\r\n';
document.getElementById('errorMissingEmail').style.display='';
valid = false;
}
else if(!emailRegex.test(document.getElementById('email').value)){
validationMessage = validationMessage + ' - Email is not valid\r\n';
document.getElementById('errorEmailInvalid').style.display='';
valid = false;
}
else{
document.getElementById('errorMissingEmail').style.display='none';
document.getElementById('errorEmailInvalid').style.display='none';
}

if((document.getElementById('std').value.length!=null)&& !stdRegex.test(document.getElementById('std').value)){
validationMessage = validationMessage + ' - std code is not valid\r\n';
document.getElementById('errorStdCodeInvalid').style.visibility='visible';
valid = false;
}
else{
document.getElementById('errorStdCodeInvalid').style.display='none';
}

if((document.getElementById('phone').value.length!=null)&& !phoneRegex.test(document.getElementById('phone').value)){
validationMessage = validationMessage + ' - Phone Nummber is not valid can contain digits only from 0-9\r\n';
document.getElementById('errorPhoneNoInvalid').style.display='';

valid = false;
}
else{
document.getElementById('errorPhoneNoInvalid').style.display='none';
}

if (document.getElementById('mobile').value.length == 0){
validationMessage = validationMessage + ' -Mobile number is missing\r\n';
document.getElementById('errorMissingMobileNo').style.display='';
valid = false;
}
else if(!mobileRegex.test(document.getElementById('mobile').value)){
validationMessage = validationMessage + ' - Mobile Nummber is not valid can contain digits only from 0-9\r\n';
document.getElementById('errorMobileNoInvalid').style.display='';
valid = false;
}
else{
document.getElementById('errorMissingMobileNo').style.display='none';
document.getElementById('errorMobileNoInvalid').style.display='none';
}


if (valid == false){
alert(validationMessage);
}
return valid;
}

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

最佳答案

span  id="errorFirstNameMissing" style="display:none
span id="errorFirstNameInValid" style="display:none

在 jsp 中,页面加载时不会显示错误消息。

何时,未给出值,

document.getElementById('errorFirstNameMissing').style.display='';

您正在使其可见。

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

document.getElementById('errorFirstNameInValid').style.display='';

但您尚未隐藏之前的缺失值错误消息。它仍处于显示模式。这就是为什么在没有页面刷新时会显示两条消息的原因。

解决方案:

您可以在每次进入验证函数时隐藏这些消息。

function validate(){
document.getElementById('errorFirstNameInValid').style.display='none';
document.getElementById('errorFirstNameMissing').style.display='none';

因此,每次您输入验证函数时,它都会隐藏所有错误消息,并根据相应的验证仅显示相应的错误消息。

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

关于javascript - 注册JSP页面显示错误时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21473338/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com