⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fastjsp.js

📁 欢迎使用 FastJsp 开发框架! 编译说明: * 若要生成Api Javadoc文档
💻 JS
字号:

var FastJsp = new Object();

FastJsp.default_invalid_field_handler = function(event, field, message){
  if (!event.abort && !field.disabled)  {
    FastJsp.set_focus(field);
    window.alert(message);
    event.abort = true;
    event.cancel_handlers = true;
  }
}
function FormEventManager(form){
  this.form = form;
  this.handlers = {};
  form.onsubmit = function() { return this.events.submit(); };
  form.onreset = function() { return this.events.reset(); };
  this.invalid_field_handler = FastJsp.default_invalid_field_handler;
}

FastJsp.find = function(formName){
  return eval("document."+formName);
}
FastJsp.findField = function(formName,fieldName){
   return eval("document."+formName+"."+fieldName);
}

FastJsp.register_form = function(formName){
  var form = this.find(formName);
  form.events = new FormEventManager(form);
}

FastJsp.onpresubmit = function(formName, handler){
  var form = this.find(formName);
  form.events.add_presubmit_handler(handler);
}

FastJsp.onsubmit = function(formName, handler){
  var form = this.find(formName);
  form.events.add_submit_handler(handler);
}

FastJsp.onpostsubmit = function(formName, handler){
  var form = this.find(formName);
  form.events.add_postsubmit_handler(handler);
}

FastJsp.onreset = function(formName, handler){
  var form = this.find(formName);
  form.events.add_reset_handler(handler);
}

FastJsp.oncancel = function(formName, handler){
  var form = this.find(formName);
  form.events.add_cancel_handler(handler);
}

FastJsp.set_focus = function (field){
	if (field.focus)
		try{field.focus();}catch(ex){}
}

FastJsp.dofocus = function (formName,fieldName){
   this.set_focus(this.findField(formName,fieldName));
}

FastJsp.trim_value = function(fieldValue){
	return fieldValue.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

function FormSubmitEvent(form, type, invalid_field_handler){
  this.form = form;
  this.type = type;
  this.abort = false;
  this.cancel_handlers = false;
  this.invalid_field_handler = invalid_field_handler;
}

FormSubmitEvent.prototype.invalid_field = function(field, message){
  this.invalid_field_handler.call(window, this, field, message);
}

FormSubmitEvent.prototype.toString = function(){
  return "FormSubmitEvent[" + this.form.name + " " + this.type + " " + this.abort + "]";
}
FormEventManager.prototype.add_handler = function(type, handler){
  var array = this.handlers[type];
  if (array == null)  {
    array = [];
    this.handlers[type] = array;
  }
  array.push(handler);
}

FormEventManager.prototype.invoke_handlers = function(type, eventObj){

  if (eventObj.cancel_handlers)
  		return;

  var array = this.handlers[type];

  if (array == null) return;

  var length = array.length;
  for (var i = 0; i < length; i++)
  {
    var handler = array[i];
    handler.call(window, eventObj);

    if (eventObj.cancel_handlers) return;
  }
}

FormEventManager.prototype.addCancelListener= function(handler){
  this.add_handler("cancel", handler);
}

FormEventManager.prototype.cancel = function(){
	var event = new FormSubmitEvent(this.form, "cancel", this.invalid_field_handler);
	this.invoke_handlers("cancel", event);
	if (event.abort == false)	{
      this.form.form.value =this.form.form.value+"$$cancel";
      this.form.onsubmit = null;
	  this.form.submit();
	}
}

FormEventManager.prototype.add_presubmit_handler = function(handler){
  this.add_handler("presubmit", handler);
}

FormEventManager.prototype.add_submit_handler = function(handler){
  this.add_handler("submit", handler);
}

FormEventManager.prototype.add_postsubmit_handler = function(handler){
  this.add_handler("postsubmit", handler);
}

FormEventManager.prototype.submit = function(){

	var event = new FormSubmitEvent(this.form, "submit", this.invalid_field_handler);

    this.invoke_handlers("presubmit", event);
	this.invoke_handlers("submit", event);
	this.invoke_handlers("postsubmit", event);

	if (event.abort)
      return false;

	return true;
}

FormEventManager.prototype.add_reset_handler = function(handler){
  this.add_handler("reset", handler);
}

FormEventManager.prototype.reset = function(){

  var event = new FormSubmitEvent(this.form, "reset", this.invalid_field_handler);

  this.invoke_handlers("reset", event);

  return ! event.abort;
}

FastJsp.required_field = function(event, formName,fieldName, message){
    var field = this.findField(formName,fieldName);
    if (field.value.length == 0)
      event.invalid_field(field, message);
}

FastJsp.validate_min_length = function(event, formName,fieldName, min, message){
	var field = this.findField(formName,fieldName);
	if (field.value == "") return;

    if (field.value.length < min)
      event.invalid_field(field, message)
}

FastJsp.validate_max_length = function(event, formName,fieldName, max, message){
	var field = this.findField(formName,fieldName);
	if (field.value == "") return;

    if (field.value.length > max)
      event.invalid_field(field, message)
}
FastJsp.validate_min_number = function(event, formName,fieldName, min, message){
	var field = this.findField(formName,fieldName);
	var value = field.value;

	if (value == "") return;

    if (Number(value) < min)
      event.invalid_field(field, message)
}

FastJsp.validate_max_number = function(event, formName,fieldName, max, message){
	var field = this.findField(formName,fieldName);
	var value = field.value;

	if (value == "") return;

    if (Number(value) > max)
      event.invalid_field(field, message)
}
FastJsp.validate_email = function(event, formName,fieldName, pattern, message){
	var field = this.findField(formName,fieldName);
	var value = field.value;

	if (value == "") return;

    var regexp = new RegExp(pattern)

    if (!regexp.test(value))
      event.invalid_field(field, message)
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -