html结构,用到了label与span

<label class="relative"><input type="text" name="name" id="name" class="colorblur" size="40" value="{sh:$info.name}"/><span class="msg_dialog"></span></label>

添加样式

.relative{
position: relative;
font-weight: normal; }
.msg_dialog{
display: block;
width:200px;
height:auto;
position: absolute;
right:-200px;
top:5px;
color:red;
overflow: hidden;
}

表单添加checkForm()

<form action="{sh::U('User/addAgent')}" method="post" id="myform" onsubmit="return checkform();">
function checkform(){
if($("#name").val() == ''){
showdialog($("#name"),"姓名不能为空");
$("#name").focus();
return false;
} var email_val = $("#email").val();
if(email_val == ''){
showdialog($("#email"),"邮箱不能为空");
$("#email").focus();
return false;
}
reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
if(!reg.test(email_val)){
showdialog($("#email"),"邮箱不合法");
$("#email").focus();
return false;
} // ajax email是否已存在
if(ajaxCheck('email',email_val) == 1){
showdialog($("#email"),"邮箱已存在,请勿重复添加");
$("#email").focus();
return false;
} var tel_val = $("#tel").val();
if(tel_val == '' || tel_val.length != '11'){
showdialog($("#tel"),"手机不能为空或手机号有误");
$("#tel").focus();
return false;
} // ajax 验证号码是否已存在
if(ajaxCheck('tel',tel_val) == 1){
showdialog($("#tel"),"号码已存在");
$("#tel").focus();
return false;
} var reg = /^[0-9a-zA-Z]+$/;
if($("#password").val() == '' || $("#password").val().length <6 || !reg.test($("#password").val())){
showdialog($("#password"),"密码不能为空且必须为字符或数字");
$("#password").focus();
return false;
} if($("#map_lng").val() == ''){
showdialog($("#map_lng"),"请标注代理商位置");
return false;
}
}

showdialog() 方法负责处理提示信息

function showdialog(obj,msg){
obj.siblings(".msg_dialog").text(msg).show().delay(2000).hide(0);
}

delay(2000).hide(0) 延迟两秒后消失
ajax验证

// ajax验证邮箱号码
function ajaxCheck(t,v){
var res = '';
$.ajax({
tpye:"post",
url:"{sh::U('User/ajax','todo=checkVal')}",
data:"t="+t+"&v="+v,
async: false,
success:function(data){
res = data;
}
});
return res;
}
public function ajax(){
$todo = $this->_request('todo','trim');
switch ($todo) {
case 'checkVal':
$t = $this->_request('t','trim');
$v = $this->_request('v','trim');
if(empty($t) || empty($v)){
exit('0');
}
$agentModel = M('Agent');
if($t == 'email'){
$count_email = $agentModel->where(array('email'=>$v))->count();
if($count_email > 0){
exit('1');
}
} if($t == 'tel'){
$count_tel = $agentModel->where(array('tel'=>$v))->count();
if($count_tel > 0){
exit('1');
}
}
break; default:
# code...
break;
}
}

效果

两秒后红色提示将消失

自制简单表单验证relative与absolute定位的更多相关文章

  1. JS简单表单验证

    这里我是写了一个简单的注册表单验证功能,亲测有效,一起来看看吧! 首先我的HTML代码是这样的: class大家可以忽略一下,这里我项目使用的是bootstrap的样式. 输入用户名和密码用的是正则表 ...

  2. 如何利用jQuery进行简单表单验证

    <!DOCTYPE html><html><head><meta charset="utf-8"><meta name=&qu ...

  3. jq之简单表单验证

    <body> <form method="post" action=""> <div class="int"& ...

  4. 模仿 BootstrapValidator 自制 模块化 表单验证

    index.html : <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  5. 关于ajax用户名验证和jquery实现简单表单验证

    首先来说用户名验证: 前台: <tr> <td class="tableleft">教师编号</td> <td><input ...

  6. AJAX案例二:简单表单验证

    案例:如果用户名输入为张三,那么在失去焦点时后面会显示该用户名已被注册,否则显示可以注册! <%@ page language="java" import="jav ...

  7. JavaScrip——简单练习(输出方式,简单表单验证)

    <script> //输出方式 document.write(Date());//获取当前时间 document.write(1); document.write("<p& ...

  8. AngularJS的简单表单验证

    代码下载:https://files.cnblogs.com/files/xiandedanteng/angularjsCheckSimpleForm.rar 代码: <!DOCTYPE HTM ...

  9. 初学structs2,表单验证

    一.简单表单验证示例 structs.xml配置 <struts> <package name="validate" namespace="/valid ...

随机推荐

  1. haporxy 负载elasticsearch

    <pre name="code" class="html">-bash-4.1# cat /etc/haproxy/haproxy.cfg glob ...

  2. postGreSQL数据库部署及简单使用

    1,deployByRuiyIns rpm -ivh http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.no ...

  3. 图论专题训练1-D(K步最短路,矩阵连乘)

    题目链接 /* *题目大意: *求出从i到j,刚好经过k条边的最短路; * *矩阵乘法的应用之一(国家队论文): *矩阵乘法不满足交换律,矩阵乘法满足结合律; *给定一个有向图,问从A点恰好走k步(允 ...

  4. spring mvc 安全

    1,使用 spring form 标签 防 csrf 攻击 2,标明请求方法:RequestMethod.GET,RequestMethod.POST, PATCH, POST, PUT, and D ...

  5. drwtsn32.exe 遇到问题须要关闭。我们对此引起的不便表示抱歉

    我的机器老是这样.启动起来就有这个... 那位高手能告诉我这是怎么会事.故障的原因以及解决的办法. 最佳答案 drwtsn32.exe是windows的一项磁盘检查程序,同一时候也是鸡肋程序,最好的办 ...

  6. Cts框架解析(8)-IBuildProvider

    IBuildProvider接口中定义了三个方法 /* * Copyright (C) 2010 The Android Open Source Project * * Licensed under ...

  7. jsp当参数为空的时候默认显示值

    当${business.branchName }为空或者不存在的时候显示“请选择门店” <c:out value="${business.branchName }" defa ...

  8. VML :Vector Markup Language

    在以前老是浏览器IE<9在不支持SVG情况下,IE一般通过VML来绘制图形,图片,文字等 步骤: 必须在头部添加 <HTML xmlns:v="urn:schemas-micro ...

  9. Android--------解决ScrollView中嵌套ExpandableListView显示不全的问题

    ##***Scrollview和ExpandableListView嵌套显示不全*** - 当我们将ExpandableListView嵌套在Scrollview之中时,我们必须要确保我们的不居中Ex ...

  10. Python初学

    经同学推荐,学习了下Python语言,看Python的介绍,它本身是一个面向对象的解释型脚本语言,我初看到这句话的时候就在想,一个脚本语言还搞成面向对象?有这个必要么?原谅我肤浅了一把. 它还被俗称为 ...