code: function sendForm(form_el, on_success) {
          var on_error = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
          var headers = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : { 'Content-Type': 'application/x-www-form-urlencoded' };
  
          var data = {};
          form_el.querySelectorAll('[name]').forEach(function (input) {
              data[input.getAttribute('name')] = input.value;
          });
          this.create('POST', form_el.getAttribute('action'), data, on_success, on_error, headers, true);
      }
docs: Sends a form via ajax POST with header Content-Type: application/x-www-form-urlencoded
  Data is automatically taken form all form input values
  
  @param {object} form_el - Form document element
  @param {callback(responseText)} on_success - callback for status code 200
  @param {callback(responseText, responseStatusCode)} on_error = null - custom handler for non 200 status codes
  @param {object} headers = {'Content-Type': 'application/x-www-form-urlencoded'} - key: value map of headers