Ajax::prototype 源码解读

2019-06-03 08:36:20刘景俊

    $(element).select(); 
  } 


/*--------------------------------------------------------------------------*/ 

/** 
 * 表单工具类 
 */ 
var Form = { 
  /** 
   * 将表单元素序列化后的值组合成 QueryString 的形式 
   */ 
  serialize: function(form) { 
    var elements = Form.getElements($(form)); 
    var queryComponents = new Array(); 

    for (var i = 0; i < elements.length; i++) { 
      var queryComponent = Form.Element.serialize(elements[i]); 
      if (queryComponent) 
        queryComponents.push(queryComponent); 
    } 

    return queryComponents.join('&'); 
  }, 

  /** 
   * 得到表单的所有元素对象 
   */ 
  getElements: function(form) { 
    form = $(form); 
    var elements = new Array(); 

    for (tagName in Form.Element.Serializers) { 
      var tagElements = form.getElementsByTagName(tagName); 
      for (var j = 0; j < tagElements.length; j++) 
        elements.push(tagElements[j]); 
    } 
    return elements; 
  }, 

  /** 
   * 将指定表单的元素置于不可用状态 
   */ 
  disable: function(form) { 
    var elements = Form.getElements(form); 
    for (var i = 0; i < elements.length; i++) { 
      var element = elements[i]; 
      element.blur(); 
      element.disable = 'true'; 
    } 
  }, 

  /** 
   * 使表单的第一个非 hidden 类型而且处于可用状态的元素获得焦点 
   */ 
  focusFirstElement: function(form) {