阻止form表单submit提交

近日在做项目的时候部分需要用到表单验证,原本想用插件进行验证的,结果发现只需要验证一个地方,就想自己用js写一下,过程中发现一个问题,在验证错误的时候需要点击submit时无法提交,这边就这个问题进行说明一下。

功能说明:

1.为空时,提交的时候会进行提示且无法提交。

2.名字长度不符时,失去焦点时会提示。

3.会检测后台数据库,看相册命名是否重复。

4.以上提示在提交表单时如果不符合,均会进行提示

html:

<form id="mayform" class="form" action="<c:url value='/pet/createAlbum'/>" method="post">
			<div class="form_div">
				<div class="album_name">相册名:<input type="text" class="albumName" name="albumName" placeholder="输入相册名称"></div>
				<br/>
				<br/>
				
				<div class="album_kind">
					类 型:
					<select name="kind">
						<option value="humanity">人文</option>
						<option value="pet">宠物</option>
						<option value="memory">回忆</option>
						<option value="view">风景</option>
					</select>
				</div>
				<br>
				<br>
				<div class="submit"><input id="submit" type="submit" value="创建相册"></div>
			</div>
		</form>

JS:

<script type="text/javascript">
	$(function(){
	 reg_albumName=/^.{2,20}$/gi;//g表示全局
	 var msg="";
	 var submitBtn = document.getElementById("submit");
	 var bool=0;//0代表为NULL;1代表成功;2代表相册名存在;3代表名字不符合
	$(".albumName").blur(function(){
		bool=false;
		var _html="<span id='errormsg' style='font-size:12px;color:red;'>验证成功</span>";
		var albumName=$(this).val();
		$(".albumName").parent().next("#errormsg").remove();
		if(reg_albumName.test(albumName)){
			$.post("validAlbumName",{
				albumName:albumName
			},function(data){
				if(data=="success"){
					bool=1;
					$(".albumName").parent().after(_html);
				}else {
					bool=2;
					_html="<span id='errormsg' style='font-size:12px;color:red;'>该相册名已存在,请重新命名</span>";
					
					$(".albumName").parent().after(_html);
				}
			});	
		}else {
			bool=3;
			_html="<span id='errormsg' style='font-size:12px;color:red;'>长度必须为2-20个字符</span>";
			$(".albumName").parent().after(_html);
		}
	});
	submitBtn.onclick = function (event) {
		$(".albumName").parent().next("#errormsg").remove();
		  if(bool!=1)
		  {
			  if(bool==0)
			 $(".albumName").parent().after("<span id='errormsg' style='font-size:12px;color:red;'>相册名不能为空</span>");
			  if(bool==2)
				  $(".albumName").parent().after("<span id='errormsg' style='font-size:12px;color:red;'>该相册名已存在,请重新命名</span>");
			  if(bool==3)
				  $(".albumName").parent().after("<span id='errormsg' style='font-size:12px;color:red;'>长度必须为2-20个字符</span>");
	  		return false;
	  		}
		  else return true;
		 };
	}); 
	
</script>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东天里的冬天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值