例如:让用户输入:用户名、密码、确认密码等。不采用formValidator等这样的插件,自己手写出来的表单验证模式!求大仙们给我写一个demo
解决方案 »
- javascript 动态切换菜单背景图(从数据库里取出得图)的问题,在线急等!!!
- jqGrid 如何实现同时编辑多条记录后,按个保存按钮同时更新?
- ie中filter的半透明不起作用是为什么?
- 这个如何写正则表达式?
- 急:在网页里如何知道鼠标在网页上的坐标
- 如何获得图片上某一点的绝对坐标?
- 前台用easyUI的datagrid获取所有行,后台如何取
- 网页背景图片不重复 myeclipse中
- 求助高手帮忙,下拉到底部会让尾部的div显示,然后继续下拉尾部又消失了,怎么才能下拉到尾部时,尾部内容能出现,然后滚动条到下面,然后上拉内容消失?
- axios的get请求传递数组的问题? hk[] = [1,,2,3]
- jquery.infinitescroll.min.js 实现图片瀑布流 无限刷新
- iframe里的DIV能遮住父层 高手帮个忙!
XML如下<?xml version="1.0" encoding="utf-8" ?>
<Root>
<Data Name="Product">
<Item Name="SKU" IsNull="true" Reg="" Tip="必填项,不能为空"></Item>
<Item Name="Mobile" IsNull="true" Reg="^\d{11,}$" Tip="必填项,请输入合法的手机号码" ></Item>
<Item Name="ProductName" IsNull="false" Reg="^\d{5,}$" Tip="非必填项,长度必须大于5位" ></Item>
</Data>
</Root>
$(document).ready(function () {
$('body').append('<table id="tipTable" class="tableTip"><tr><td class="leftImage"></td> <td class="contenImage" align="left"></td> <td class="rightImage"></td></tr></table>');
var dataName = "Product";
var checkSubmit = (function () {
$.ajax({
url: "validate.xml",
dataType: "xml",
type: 'get',
error: function (xml) {
alert('Error loading XML document' + xml);
},
success: function (xml) { $(xml).find("Data[Name='" + dataName + "']").find("Item").each(function () {
var name = $(this).attr("Name"); var isNull = $(this).attr("IsNull");
var reg = $(this).attr("Reg");
var tip = $(this).attr("Tip");
//给对应的元素添加focus事件以及blur事件
$("#" + name).mouseover(function () {
if (tip != "") {
$('#tipTable').css({ left: $.getLeft(this) + 'px', top: $.getTop(this) + 'px' });
$('.contenImage').html(tip);
$('#tipTable').fadeIn("fast");
// settipTableOut(name);
}
}).blur(function () {
//根据具体的逻辑判断当前 元素是否输入正确
//如果不允许为空
if (isNull == "true") {
//如果条件不允许为这且值为空
if ($("#" + name).val() == "") { settipTableOut(name); } else {
//如果条件不允许为空且值也不为空
if (reg != "") {
//表示需要启动正则进行验证 var regex = new RegExp(reg);
if (!regex.test($("#" + name).val())) {
//错误提示
settipTableOut(name); } else {
//去除样式
settipTableIn(name);
}
} else {
settipTableIn(name);
}
} } else {
//如果条件为空,且reg 不为空则表示要验证
if ($("#" + name).val() != "" && reg != "") {
var regex = new RegExp(reg);
if (!regex.test($("#" + name).val())) {
//错误提示
settipTableOut(name); } else {
settipTableIn(name);
}
} else {
settipTableIn(name);
}
}
});
});
}
}); });
var settipTableOut = (function (name) {
$("#" + name).removeClass('tooltipinputok').addClass('tooltipinputerr');
$('#tipTable').fadeOut("fast"); });
var settipTableIn = (function (name) {
$("#" + name).removeClass('tooltipinputerr').addClass('tooltipinputok');
}); checkSubmit("Product");
$("form").submit(function () { $.ajax({
url: "validate.xml",
dataType: "xml",
type: 'get',
error: function (xml) {
alert('Error loading XML document' + xml);
},
success: function (xml) {
var isSubmit = true;
$(xml).find("Data[Name='" + dataName + "']").find("Item").each(function () {
var name = $(this).attr("Name");
var isNull = $(this).attr("IsNull");
var reg = $(this).attr("Reg");
var tip = $(this).attr("Tip");
readXmlStatus = true;
//给对应的元素添加focus事件以及blur事件
if (tip != "") {
$('#tipTable').css({ left: $.getLeft(this) + 'px', top: $.getTop(this) + 'px' });
$('.contenImage').html(tip);
$('#tipTable').fadeIn("fast");
// settipTableOut(name);
} //根据具体的逻辑判断当前 元素是否输入正确
//如果不允许为空
if (isNull == "true") {
//如果条件不允许为这且值为空
if ($("#" + name).val() == "") {
settipTableOut(name);
isSubmit = false;
} else {
//如果条件不允许为空且值也不为空
if (reg != "") {
//表示需要启动正则进行验证
var regex = new RegExp(reg);
if (!regex.test($("#" + name).val())) {
//错误提示
settipTableOut(name);
isSubmit = false;
} else {
//去除样式
settipTableIn(name);
}
} else {
settipTableIn(name);
}
} } else {
//如果条件为空,且reg 不为空则表示要验证
if ($("#" + name).val() != "" && reg != "") {
var regex = new RegExp(reg);
if (!regex.test($("#" + name).val())) {
//错误提示
settipTableOut(name);
isSubmit = false;
} else {
settipTableIn(name);
}
} else {
settipTableIn(name);
}
}
}); if (isSubmit == true)
alert("可以提交表单");
else {
alert("不可以提交表单");
}
}
});
return false;
}); $.extend({
getWidth: function (object) {
return object.offsetWidth;
}, getLeft: function (object) {
var go = object;
var oParent, oLeft = go.offsetLeft;
while (go.offsetParent != null) {
oParent = go.offsetParent;
oLeft += oParent.offsetLeft;
go = oParent;
}
return oLeft;
}, getTop: function (object) {
var go = object;
var oParent, oTop = go.offsetTop;
while (go.offsetParent != null) {
oParent = go.offsetParent;
oTop += oParent.offsetTop;
go = oParent;
}
return oTop + $(object).height() + 5;
}, onsubmit: true
});
});