原生JavaScript封装的ajax提交表单form

代码放在 https://github.com/webery/ajax/tree/master

目前为第一版本,没有经过严格的测试,部分功能还没完善.使用了自己封装的ajax提交数据.

测试代码



  
    
    
	
	
  
  
  
   

源代码

/**
  function:ajax提交表单
  version:v1.0
  author:weber yang
  date:2015.8.8
**/
;(function(window, undefined) {
	
	function form(request, selector) {
		
		return new Form(request, selector);
	}
	/*
	  request{url:请求路径, method:请求方法(GET默认,POST...), enctype:表单提交的类型,默认为application/x-www-form-urlencoded}
	  selector:样式选择器,可以手动过滤表单中需要提交的元素,例如'#form input,select,textarea'仅提交input和select和textarea的元素
	*/
	var Form = function(request, selector) {
		
		this.selector = selector;
		this.init(request);
		
		return this;
	};
	
	Form.prototype.init = function(req) {
		
		req.method = req.method ? req.method:'get';
		req.requestType = req.enctype ? req.enctype : 'application/x-www-form-urlencoded';
		this.request = req;
		
		//初始化表单控件存储,解析表单的时候会把input这样的控件放到这里
		this.inputs = {
			radios: new Array(),
			checkboxs: new Array(),
			files: new Array(),
			others: new Array(),
		};
		this.selects = new Array();
		this.textareas = new Array();
	};
	
	//解析表单
	Form.prototype.parseForm = function() {

		var elements = document.querySelectorAll(this.selector);
		for(var i=0; i


你可能感兴趣的:(javascript)