var selector = new Selector(expr); return results.map(selector.findElements.bind(selector)).flatten(); }); }).flatten(); }
/** * 针对 页面元素对象 的工具类,提供一些简单静态方法 */ var Field = { /** * 清除参数引用对象的值 */ clear: function() { for (var i = 0; i < arguments.length; i++) $(arguments[i]).value = ''; },
/** * 使参数引用对象获取焦点 */ focus: function(element) { $(element).focus(); },
/** * 判断参数引用对象值是否为空,如为空,返回false, 反之true */ present: function() { for (var i = 0; i < arguments.length; i++) if ($(arguments[i]).value == '') return false; return true; },
/** * 使选中参数引用对象 */ select: function(element) { $(element).select(); },
/** * 使参数引用对象处于可编辑状态 */ activate: function(element) { element = $(element); element.focus(); if (element.select) 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 (var tagName in Form.Element.Serializers) { var tagElements = form.getElementsByTagName(tagName); for (var j = 0; j < tagElements.length; j++) elements.push(tagElements[j]); } return elements; },
getInputs: function(form, typeName, name) { form = $(form); var inputs = form.getElementsByTagName('input');
if (!typeName && !name) return inputs;
var matchingInputs = new Array(); for (var i = 0; i < inputs.length; i++) { |