对prototype.js进行的扩展
2010-09-14 13:21:55 来源:WEB开发网*验证观察者,用来实现对指定字段进行验证
*复写Abstract.EventObserver.initialize(),在回调函数中通过ajax发送消息进行后台验证
*/
Form.Element.ValidationObserver=Class.create();
Object.extend(Object.extend(Form.Element.ValidationObserver.prototype,Form.Element.EventObserver.prototype),{
/*
*对Form.Element.EventObserver.initialize进行的修改,将要注册的验证回调函数设置为创建ajax验证请求
*element为需要验证的元素
*url为ajax要发送请求的地址
*parameterCallback为取得验证参数的回调函数
*使用方法:
*newForm.Element.ValidationObserver("pol",
"http://localhost:8080/agreement/ValidatePol";,
function(){returnForm.Element.serialize("pol");});
*/
initialize:function(element,url,parameterCallback){
this.element =$(element);
this.callback=function(element,value){
newAjax.Validator(element,url,{parameters:parameterCallback()});
} this.lastValue=this.getValue();
this.registerCallback(this.element); }
})/*
*新增通过Ajax进行验证类
*借鉴Validation验证类
*/
Ajax.Validator=Class.create();
Object.extend(Object.extend(Ajax.Validator.prototype,Ajax.Request.prototype),{
initialize:function(validated,url,options){
this.element=$(validated); this.transport=Ajax.getTransport();
this.setOptions(options); varonComplete=this.options.onComplete||Prototype.emptyFunction;
this.options.onComplete=(function(transport,object){
this.updateContent();
onComplete(transport,object);
}).bind(this); this.request(url);
},
赞助商链接