<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(function(){ function checkinput_form1(_this){
alert(_this+" ------ " );
var _parent=$("#form1");
//var $this=$(this);
var $this=_this;
var _name=$this.attr("name");
var _val=$.trim($this.val()); var _console=$("#regError",_parent);
switch(_name){
case "username":
if (_val == "") {
_console.addClass('red').text("请输入用户名");return false;
} else if (!isName.test(_val)) {
_console.addClass('red').text("用户名只能是手机或邮箱");return false;
} else {
_console.removeClass('red').html("&nbsp;");
$.ajax({
type: "GET",
url: "/reg/username",
data: {
"username": _val
},
dataType: "jsonp",
success: function(data) {
if (data.status == 0) {
_console.removeClass("red").html("&nbsp;");
} else {
_console.addClass("red").text(data.message);
return false;
}
}
});
}
break;
case "password":
if (_val == "") {
_console.addClass('red').text("请输入密码");return false;
} else if (_val.indexOf(' ') != -1) {
_console.addClass('red').text("密码中不能含有空格");return false;
} else if (_val.length < 6 || _val.length > 20) {
_console.addClass('red').text("密码长度为6-20位");return false;
} else {
_console.removeClass('red').html("&nbsp;");
}
break;
case "repeatPassword":
if (_val == "") {
_console.addClass('red').text("请重复密码");return false;
} else if (_val != _parent.find("input[name=password]").val()) {
_console.addClass('red').text("密码不一致");return false;
} else {
_console.removeClass('red').html("&nbsp;");
}
break;
}
return true; } //遍历表单文本框
$("#form1 input[name]").each(function(){
$(this).bind( "blur", function(){checkinput_form1($(this)) });//注意blur事件写法!
function checkinput_form1(_this) {
}
}) //表单提交
$("#form1").submit(function(){
var $this=$(this);
$("input[name]",this).not("[type=hidden]").each(function(){
var _flag=checkinput_form1( $(this) );//表单验证
if(_flag==false) return false;
});
}) });
</script>
</head>
<body>
<form id="main-reg-form" method="post" action="">
<input type=text name="username"><br>
<input type=text name="password"><br>
<input type=text name="password2"><br>
<input type="submit" value="提交">
</form> </body>
</html>

表单:提交验证,及blur事件验证的更多相关文章

  1. layui弹出表单提交后,界面model验证部分起作用

    情况1----input属性中type=submit时验证都可以起作用,但是弹出层表单的返回值不能获取,所以用ajax二次提交后会出现重复添加数据的问题 情况2----input属性中type=but ...

  2. ASP.NET MVC/Core表单提交后台模型二级属性验证问题

    起因 这个是网友在官网论坛的提问:https://fineui.com/bbs/forum.php?mod=viewthread&tid=22237 重新问题 本着务实求真的态度,我们先来复现 ...

  3. php表单提交时的身份证号码验证

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  4. jsp——js事件修改属性样式的两种方法(直接赋值、修改属性)、验证表单符合某要求、阻止表单提交、告诉浏览器不要缓存

    代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncodi ...

  5. form的onsubmit事件--表单提交前的验证最佳实现方式

    今天遇到了一个问题,页面中include了很多的公共页面(都是没有form的),并且里面好多的地方都是自行提交的(页面中加入一个type=“submit”域,然后js中写入sumbit.click来执 ...

  6. 原生JS 表单提交验证器

    转载:http://www.cnblogs.com/sicd/p/4613628.html 一.前言 最近在开发一个新项目,需要做登陆等一系列的表单提交页面.在经过“缜密”的讨论后,我们决定 不用外部 ...

  7. 利用JS提交表单的几种方法和验证

    第一种方式:表单提交,在form标签中增加onsubmit事件来判断表单提交是否成功 <script type="text/javascript"> function ...

  8. AngularJS 表单提交后显示验证信息与失焦后显示验证信息

    虽然说AngularJS的实时表单验证非常有用,非常高效方便,但是当用户还没有完成输入时便弹出一个错误提示,这种体验是非常糟糕的. 正常的表单验证逻辑应该是在用户提交表单后或完成当前字段中的输入后,再 ...

  9. 在客户端先通过JS验证后再将表单提交到服务器

    问题:想要在客户端先通过JS验证后再将表单提交到服务器 参考资料: jQuery 事件 - submit() 方法 试验过程: 服务器端使用PHP <html> <head> ...

随机推荐

  1. 20155117王震宇 2016-2017-2 《Java程序设计》第七周学习总结

    教材学习内容总结 时间度量 格林尼治标准时间(GMT):现在GMT已不作为标准时间使用. 世界时(UT):借助观测远方星体跨过子午线而得,受地球自转速度影响. 国际原子时(TAI):铯原子辐射振动幅度 ...

  2. ZOJ 3551 吸血鬼 概率DP

    解题报告链接: http://www.cnblogs.com/183zyz/archive/2012/09/13/2683524.html 做法:设当有i个吸血鬼时变成n个吸血鬼的天数的数学期望为dp ...

  3. js 命名空间

        yui的命名空间和继承机制 var YAHOO = window.YAHOO || {};YAHOO.namespace = function(ns) {    if (!ns || !ns. ...

  4. smarty学习——组合修改器

    对于同一个变量,你可以使用多个修改器.它们将从左到右按照设定好的顺序被依次组合使用. 使用时必须要用"|"字符作为它们之间的分隔符. 比如: {#userinfoname#} {# ...

  5. Cocos2D-X2.2.3学习笔记13(延时动作)

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/q269399361/article/details/28265477 还记得我们上一节讲的瞬时动作吗 ...

  6. Spark的启动进程详解

    Master和Worker是执行任务之前存在的进程 (类似于公司) Driver和Excutor是任务执行之后存在的进程(类似于公司接到项目后才成立的项目小组) 启动步骤: 启动Master资源管理进 ...

  7. postman 中 form-data、x-www-form-urlencoded、raw、binary的区别

    区别 form-data: 就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开.既可以上传键值对,也可以上传文件.当上传的字段是文件 ...

  8. Connection: keep-alive,Content-Length,Transfer-Encoding: chunked,Content-Encoding: gzip等

    Transfer-Encoding,是一个 HTTP 头部字段,字面意思是「传输编码」. 用来改变报文格式,它不但不会减少实体内容传输大小,甚至还会使传输变大,那它的作用是什么呢?下面进行介绍. HT ...

  9. ML(3.1): NavieBayes R_e1071

    朴素贝叶斯方法是一种使用先验概率去计算后验概率的方法, 具体见ML(3): 贝叶斯方法 R包 ① e1071::e1071 ② klaR::klaR 参考资料:https://en.wikibooks ...

  10. request响应码记录

    响应 -- r.status_code                     #响应状态码 -- r.content                             #会自动为你解码 字节方 ...