用于表单提交的 Javascript 实时验证

标签 javascript php jquery

重新更新了我的问题, 在从客户端提交表单之前,我正在对我的编码进行实时 JavaScript 验证,我只想验证我的名字、姓氏、电子邮件 ID、手机(10 位数字)、密码。 我在下面应用了自己的编码,

错误:1 如果没有清除错误,则不应提交表单。 错误:2 减少我的 JavaScript 代码,它看起来很大。 错误:3 输入电子邮件 ID 时,系统应检查电子邮件 ID 是否已注册...通过使用 ajax 检查 请在这么短的时间内纠正并帮助我。这将非常有帮助...... 本网站已更新: 例如:http://indyadeal.com/supermarket/checkout (点击注册并继续)

   
    function requiredFields() {
		var erroravailable = 'yes';  
        var fname = document.getElementById("fname").value;
        var lname = document.getElementById("lname").value;
        var mobile = document.getElementById("mobile").value;
        var email = document.getElementById("email").value;
        var password1 = document.getElementById("password1").value;
        var password2 = document.getElementById("password2").value;
	
        if (fname == "") {
		document.getElementById("fname").className = "error incorrect";
		document.getElementById("errorfname").className = "error";
        document.getElementById("errorfname").innerHTML = 'Please type your First Name';
			erroravailable = yes;	// if error found return false
			return false;	
        } else if (!!fname) {
		document.getElementById("fname").className = "success incorrect";
		document.getElementById("errorfname").className = "success";
        document.getElementById("errorfname").innerHTML = 'Success';
					erroravailable = 'no';		

        } 
		
      if (lname == "") {
		document.getElementById("lname").className = "error incorrect";
		document.getElementById("errorlname").className = "error";
        document.getElementById("errorlname").innerHTML = 'Please type your Last Name';
					erroravailable = 'yes';		
			return false;	

		
        } else if (!!fname) {
		document.getElementById("lname").className = "success incorrect";
		document.getElementById("errorlname").className = "success";
        document.getElementById("errorlname").innerHTML = 'Success';
					erroravailable = 'no';		
        } 

if (isNaN(mobile) == true || mobile.length != 10) {
		document.getElementById("mobile").className = "error incorrect";
		document.getElementById("errormobile").className = "error";
        document.getElementById("errormobile").innerHTML = 'Please type your 10 digit mobile no.';
					erroravailable = 'yes';		
					return false;	

        } else if (!!mobile) {
		document.getElementById("mobile").className = "success incorrect";
		document.getElementById("errormobile").className = "success";
        document.getElementById("errormobile").innerHTML = 'Success';
					erroravailable = 'no';		
        } 
		var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;  
		if(email.match(mailformat)) { 
		document.getElementById("email").className = "success incorrect";
		document.getElementById("erroremail").className = "success";
        document.getElementById("erroremail").innerHTML = 'Success';
					erroravailable = 'no';		

        }else{
		document.getElementById("email").className = "error incorrect";
		document.getElementById("erroremail").className = "error";
        document.getElementById("erroremail").innerHTML = 'Please type your valid email address';
					erroravailable = 'yes';	
								return false;	
        }

		 if(password1.length > 5 && password1.length <13) {
		document.getElementById("password1").className = "success incorrect";
		document.getElementById("errorpass1").className = "success";
        document.getElementById("errorpass1").innerHTML = 'Success';
					erroravailable = 'no';	
        } else {
		document.getElementById("password1").className = "error incorrect";
		document.getElementById("errorpass1").className = "error";
        document.getElementById("errorpass1").innerHTML = 'Please type your 6 to 12 Characters Password';
 				erroravailable = 'yes';		
			return false;	
        }
	
		if(password2 == password1) {
		document.getElementById("password2").className = "success incorrect";
		document.getElementById("errorpass2").className = "success";
        document.getElementById("errorpass2").innerHTML = 'Success';
					erroravailable = 'no';	
        } else{
           	document.getElementById("password2").className = "error incorrect";
		document.getElementById("errorpass2").className = "error";
        document.getElementById("errorpass2").innerHTML = 'Password Mismatch!';
 				erroravailable = 'yes';	
							return false;	

        }
		$("#register").click(function() {
		if(erroravailable == "no") // if no error found and submit form
//			  document.registerform.submit(); 
			  document.getElementById("registerform").submit();
				return true;
		});
		
		// alert("status"+erroravailable+""); 
 /*           if(document.getElementById("errorfname", "errorlname", "errormobile", "erroremail", "errorpass1", "errorpass2").innerHTML == "Success")
                alert("successful");
                oneTimeMsgClikced = true;
          
function submitform()
{
	  document.registerform.submit(); 
}*/
}
.hide( display:none; }
<form class="type_2" method="post" id="registerform" action="<?php echo $path; ?>customer_registration.php" enctype="multipart/form-data">
<section id="showregister" class="section_offset">
	<h3>2. Registration Information</h3>
	 							

						<div class="theme_box">

								
								<ul>
									
									<li class="row">
										
										<div class="col-sm-6">
				<label for="fname" class="required">First Name</label>
				<input type="text" class="incorrect"  name="fname" id="fname" onBlur="requiredFields()">
                <span id="errorfname" class="hide">Please Type your First Name</span>
</div><!--/ [col] -->

										<div class="col-sm-6">
											
											<label for="lname" class="required">Last Name</label>
				<input type="text" class="incorrect"  name="lname" id="lname" onBlur="requiredFields()">
                <span id="errorlname" class="hide">Please Type your Last Name</span>
										</div><!--/ [col] -->

									</li><!--/ .row -->

									<li class="row">
										
										<div class="col-sm-6">
											
											<label for="mobile" class="required">Mobile No</label>
											<input type="text" class="incorrect"  name="mobile" id="mobile" onBlur="requiredFields()">
                <span id="errormobile" class="hide">Please type your 10 digit mobile no.</span>

										</div><!--/ [col] -->

										<div class="col-sm-6">
											
											<label for="email" class="required">Email Address</label>
											<input type="text" class="incorrect"  name="email" id="email" onBlur="requiredFields()">
                <span id="erroremail" class="hide">Please type valid Email address.</span>

										</div><!--/ [col] -->

									</li><!--/ .row -->

									<li class="row">

										<div class="col-sm-6">
											<label for="password1" class="required">Password</label>
											<input type="password" class="incorrect" name="password1" id="password1">
                <span id="errorpass1" class="hide">Please type Min 6 to 12 characters.</span>
										</div><!--/ [col] -->

										<div class="col-sm-6">
											<label for="password2" class="required">Confirm Password</label>
									<input type="password" class="incorrect" name="password2" id="password2">
                <span id="errorpass2" class="hide">Password Mismatch!.</span>
										</div><!--/ [col] -->

									</li><!--/ .row -->
								</ul>
 
						</div>
<footer class="bottom_box on_the_sides">

							<div class="left_side">

								<button id="register" class="button_blue middle_btn">Register Now</button>

							</div>

							<div class="right_side">

								<span class="prompt">Required Fields</span>

							</div>

						</footer>
						
							
					</section>
                    </form>

最佳答案

使用 jquery 验证插件,您的代码行数也会减少,并且它很容易集成,尤其是与上面的表单集成。 check this demo

关于用于表单提交的 Javascript 实时验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34021462/

相关文章:

JavaScript 两个日期之间的差异错误为一小时

javascript - 如何从 localStorage 数组中删除项目?

php - 从月份和年份创建一个 mysql 日期

php - 上传临时文件并重命名后很难用 php 移动临时文件

javascript - 如何向数据属性添加更多对象或数组

javascript - 当开发工具打开时,IE 11 需要很长时间才能加载 ng-option

javascript - Angular ng-options 选择未设置为初始值

php - Doctrine2 中是否有 i18n 解决方案

jquery - Bootstrap 轮播上方的图片

javascript - Bootstrap 模态不显示