怎么样把图片的悬停事件写成显示错误信息,我有个列子,但是看不懂,知道的帮我看一下/************************************************************** Script : Validate Version : 2.1 Authors : Samuel Birch Desc : Form validation Licence : Open Source MIT Licence Modify : wangxingchao**************************************************************/var Validate = new Class({ Implements: [Events,Options],
getList: function(){ var list = new Element('ul'); this.list.each(function(el,i){ if(el.title != ''){ var li = new Element('li').injectInside(list); new Element('label').setProperty('for', el.id).set('text',el.title).injectInside(li); } }); return list; },
validate: function(el){ var valid = true; this.clearMsg(el);
switch(el.type){ case 'text': case 'textarea': case 'password': case 'select-one': if(el.value != ''){ if(el.hasClass('email')){ var regEmail = /^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/; if(el.value.toUpperCase().match(regEmail)){ valid = true; }else{ valid = false; this.setMsg(el, '邮件格式错误'); } }
if(el.hasClass('number')){ var regNum = /[-+]?[0-9]*\.?[0-9]+/; if(el.value.match(regNum)){ valid = true; }else{ valid = false; this.setMsg(el, '该项必须为数字'); } }
case 'radio': var rad = $A(this.form[el.name]); var ok = false; rad.each(function(e,i){ if(e.checked){ ok = true; } }); if(!ok){ valid = false; this.setMsg(rad.getLast(), 'Please select an option'); }else{ valid = true; this.clearMsg(rad.getLast()); } break;
}
if(valid==true){ var fn = this.validates.get(el.name); if(Function.type(fn)){ var validateRes = fn(el); if(!(validateRes===true)){ valid=false; this.setMsg(el,String.type(validateRes)?validateRes:'验证不通过'); } } } return valid; },
以前做的都是非空的话在后边打印出一句话,
现在由于网页模板的问题,打印出来,样式就变了,
所以现在想做成一个,在文本后边加一个 图片,加载的时候不显示
当用户输入为空时,该图片显示
我想知道如何去做这个判断,在JS里,图片的隐藏属性是什么。!
function divcenter(value)
{
var V_left=(document.body.clientWidth-200)/2+document.body.scrollLeft;
var V_top=(document.body.clientHeight-100)/2+document.body.scrollTop;
var oDiv = document.createElement("DIV");
oDiv.id = "shop01";
oDiv.style.top = V_left;
oDiv.style.left = V_top;
oDiv.style.width = 200;
oDiv.style.height = 100;
oDiv.style.position= "absolute";
oDiv.style.background = '#FFFF00';
oDiv.style.visibility = 'visible';
oDiv.innerHTML=value;
document.body.appendChild(oDiv);
}
function checkform(obj)
{
if(obj.value=="")
{
divcenter('不能为空')
}
}
</script>
<form name="form1" method="post" action="">
<input name="uname" type="text" id="uname" onblur="checkform(this)" />
<input name="提交" type="submit" value="提交" />
</form>这只是一个简单的例子不知道你是不是这个意思
Version : 2.1
Authors : Samuel Birch
Desc : Form validation
Licence : Open Source MIT Licence
Modify : wangxingchao**************************************************************/var Validate = new Class({
Implements: [Events,Options],
options:{
validateOnBlur: true,
errorClass: 'error',
errorMsgClass: 'errorMessage',
dateFormat: 'yyyy-MM-dd',
onFail: Class.empty,
onSuccess: false,
showErrorsInline: true,
label: '请等待...'
}, initialize: function(form,tip,options,validates){
this.setOptions(options);
this.form = $(form);
this.tip = tip;
this.elements = this.form.getElements('.vvv');
this.validates = new Hash(validates);
this.list = [];
this.elements.each(function(el,i){
if(this.options.validateOnBlur){
el.addEvent('blur', this.validate.bind(this, el));
el.addEvent('keyup', this.validate.bind(this, el));
}
}.bind(this));
this.form.addEvent('submit', function(e){
var event = new Event(e);
var doSubmit = true;
this.elements.each(function(el,i){
if(! this.validate(el)){
event.stop();
doSubmit = false
this.list.include(el);
}else{
this.list.remove(el);
}
}.bind(this));
if(doSubmit){
if(this.options.onSuccess){
event.stop();
this.options.onSuccess(this.form);
}else{
this.form.getElement('input[type=submit]').setProperty('value',this.options.label);
}
}else{
this.options.onFail(this.getList());
}
}.bind(this));
},
validateAll:function(){
var passed = true;
this.elements.each(function(el,i){
if(! this.validate(el)){
passed = false;
}
}.bind(this));
return passed;
},
getList: function(){
var list = new Element('ul');
this.list.each(function(el,i){
if(el.title != ''){
var li = new Element('li').injectInside(list);
new Element('label').setProperty('for', el.id).set('text',el.title).injectInside(li);
}
});
return list;
},
validate: function(el){
var valid = true;
this.clearMsg(el);
switch(el.type){
case 'text':
case 'textarea':
case 'password':
case 'select-one':
if(el.value != ''){
if(el.hasClass('email')){
var regEmail = /^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/;
if(el.value.toUpperCase().match(regEmail)){
valid = true;
}else{
valid = false;
this.setMsg(el, '邮件格式错误');
}
}
if(el.hasClass('number')){
var regNum = /[-+]?[0-9]*\.?[0-9]+/;
if(el.value.match(regNum)){
valid = true;
}else{
valid = false;
this.setMsg(el, '该项必须为数字');
}
}
if(el.hasClass('sel')){
//var regNum = /[-+]?[0-9]*\.?[0-9]+/;
if(el.value!=0){
valid = true;
}else{
valid = false;
this.setMsg(el, '请选择');
}
}
/* added by Roger Zeng */
if(el.hasClass('float')) {
var reg = /^[-\+]?\d*\.?\d+$/;
if(reg.test(el.value)) {
valid = true;
} else {
valid = false;
this.setMsg(el, '该项必须为浮点数');
}
}
if(el.hasClass('int')) {
var reg = /^[-\+]?\d+$/;
if(reg.test(el.value)) {
valid = true;
} else {
valid = false;
this.setMsg(el, '该项必须为整数');
}
}
if(el.hasClass('posint')) {
var reg = /^\+?\d+$/;
if(reg.test(el.value)) {
valid = true;
} else {
valid = false;
this.setMsg(el, '该项必须为正整数');
}
}
if(el.hasClass('postcode')){
var regPC = /^([Gg][Ii][Rr] 0[Aa]{2})|((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([A-Za-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z])))) [0-9][A-Za-z]{2})$/
if(el.value.match(regPC)){
valid = true;
}else{
valid = false;
this.setMsg(el, '邮编格式错误');
}
}
if(el.hasClass('date')){
var d = Date.parseExact(el.value, this.options.dateFormat);
if(d != null){
valid = true;
}else{
valid = false;
this.setMsg(el, '日期格式错误,正确的格式为: ' + this.options.dateFormat.toLowerCase());
}
}
}else{
if(el.hasClass('required')){
valid = false;
this.setMsg(el, el.title || '该项为必填项!');
}
}
break;
case 'checkbox':
if(!el.checked){
valid = false;
this.setMsg(el);
}else{
valid = true;
}
break;
case 'radio':
var rad = $A(this.form[el.name]);
var ok = false;
rad.each(function(e,i){
if(e.checked){
ok = true;
}
});
if(!ok){
valid = false;
this.setMsg(rad.getLast(), 'Please select an option');
}else{
valid = true;
this.clearMsg(rad.getLast());
}
break;
}
if(valid==true){
var fn = this.validates.get(el.name);
if(Function.type(fn)){
var validateRes = fn(el);
if(!(validateRes===true)){
valid=false;
this.setMsg(el,String.type(validateRes)?validateRes:'验证不通过');
}
}
}
return valid;
},
setMsg: function(el, msg){
if(msg == undefined){
msg = el.title;
}
if(this.options.showErrorsInline){
if(el.error == undefined){
el.error = new Element('a',{
'class':'validate-invalid-note',
'href':'javascript:void(0)',
'html':' ',
'title':msg
}).injectAfter(el);
el.error.store('tip:text','');
this.tip.attach(el.error);
}else{
el.error.addClass('validate-invalid-note');
}
el.addClass(this.options.errorClass);
el.addClass('validate-invalid-input');
}
},
clearMsg: function(el){
el.removeClass(this.options.errorClass);
el.removeClass('validate-invalid-input');
this.tip.detach(el.error);
if(el.error != undefined){
el.error.dispose();
el.error = undefined;
}
}
});
/*************************************************************/