Ребята, я полный новичок((
Вторую неделю бьюсь, не могу понять куда отправляются данные форм((((
Подскажите, пожалуйста
(function ($) {
$.fn.ajaxSubmit = function (options) {
if (!this.length) {
log('ajaxSubmit: skipping submit process - no element selected');
return this;
}
if (typeof options == 'function') {
options = {
success: options
};
}
var action = this.attr('action');
var url = (typeof action === 'string') ? $.trim(action) : '';
if (url) {
url = (url.match(/^([^#]+)/) || [])[1];
}
url = url || window.location.href || '';
options = $.extend(true, {
url: url,
type: this[0].getAttribute('method') || 'GET',
iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank'
}, options);
var veto = {};
this.trigger('form-pre-serialize', [this, options, veto]);
if (veto.veto) {
log('ajaxSubmit: submit vetoed via form-pre-serialize trigger');
return this;
}
if (options.beforeSerialize && options.beforeSerialize(this, options) === false) {
log('ajaxSubmit: submit aborted via beforeSerialize callback');
return this;
}
var n, v, a = this.formToArray(options.semantic);
if (options.data) {
options.extraData = options.data;
for (n in options.data) {
if (options.data[n] instanceof Array) {
for (var k in options.data[n]) {
a.push({
name: n,
value: options.data[n][k]
});
}
} else {
v = options.data[n];
v = $.isFunction(v) ? v() : v;
a.push({
name: n,
value: v
});
}
}
}
if (options.beforeSubmit && options.beforeSubmit(a, this, options) === false) {
log('ajaxSubmit: submit aborted via beforeSubmit callback');
return this;
}
this.trigger('form-submit-validate', [a, this, options, veto]);
if (veto.veto) {
log('ajaxSubmit: submit vetoed via form-submit-validate trigger');
return this;
}
var q = $.param(a);
if (options.type.toUpperCase() == 'GET') {
options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
options.data = null;
} else {
options.data = q;
}
var $form = this,
callbacks = [];
if (options.resetForm) {
callbacks.push(function () {
$form.resetForm();
});
}
if (options.clearForm) {
callbacks.push(function () {
$form.clearForm();
});
}
if (!options.dataType && options.target) {
var oldSuccess = options.success || function () {};
callbacks.push(function (data) {
var fn = options.replaceTarget ? 'replaceWith' : 'html';
$(options.target)[fn](data).each(oldSuccess, arguments);
});
} else if (options.success) {
callbacks.push(options.success);
}
options.success = function (data, status, xhr) {
var context = options.context || options;
for (var i = 0, max = callbacks.length; i < max; i++) {
callbacks[i].apply(context, [data, status, xhr || $form, $form]);
}
};
var fileInputs = $('input:file', this).length > 0;
var mp = 'multipart/form-data';
var multipart = ($form.attr('enctype') == mp || $form.attr('encoding') == mp);
if (options.iframe !== false && (fileInputs || options.iframe || multipart)) {
if (options.closeKeepAlive) {
$.get(options.closeKeepAlive, fileUpload);
} else {
fileUpload();
}
} else {
$.ajax(options);
}
this.trigger('form-submit-notify', [this, options]);
return this;
function fileUpload() {
var form = $form[0];
if ($(':input[name=submit],:input[id=submit]', form).length) {
alert('Error: Form elements must not have name or id of "submit".');
return;
}
var s = $.extend(true, {}, $.ajaxSettings, options);
s.context = s.context || s;
var id = 'jqFormIO' + (new Date().getTime()),
fn = '_' + id;
var $io = $('<iframe id="' + id + '" name="' + id + '" src="' + s.iframeSrc + '" />');
var io = $io[0];
$io.css({
position: 'absolute',
top: '-1000px',
left: '-1000px'
});
var xhr = {
aborted: 0,
responseText: null,
responseXML: null,
status: 0,
statusText: 'n/a',
getAllResponseHeaders: function () {},
getResponseHeader: function () {},
setRequestHeader: function () {},
abort: function () {
this.aborted = 1;
$io.attr('src', s.iframeSrc);
}
};
var g = s.global;
if (g && !$.active++) {
$.event.trigger("ajaxStart");
}
if (g) {
$.event.trigger("ajaxSend", [xhr, s]);
}
if (s.beforeSend && s.beforeSend.call(s.context, xhr, s) === false) {
if (s.global) {
$.active--;
}
return;
}
if (xhr.aborted) {
return;
}
var timedOut = 0;
var sub = form.clk;
if (sub) {
var n = sub.name;
if (n && !sub.disabled) {
s.extraData = s.extraData || {};
s.extraData[n] = sub.value;
if (sub.type == "image") {
s.extraData[n + '.x'] = form.clk_x;
s.extraData[n + '.y'] = form.clk_y;
}
}
}
function doSubmit() {
var t = $form.attr('target'),
a = $form.attr('action');
form.setAttribute('target', id);
if (form.getAttribute('method') != 'POST') {
form.setAttribute('method', 'POST');
}
if (form.getAttribute('action') != s.url) {
form.setAttribute('action', s.url);
}
if (!s.skipEncodingOverride) {
$form.attr({
encoding: 'multipart/form-data',
enctype: 'multipart/form-data'
});
}
if (s.timeout) {
setTimeout(function () {
timedOut = true;
cb();
}, s.timeout);
}
var extraInputs = [];
try {
if (s.extraData) {
for (var n in s.extraData) {
extraInputs.push($('<input type="hidden" name="' + n + '" value="' + s.extraData[n] + '" />').appendTo(form)[0]);
}
}
$io.appendTo('body');
io.attachEvent ? io.attachEvent('onload', cb) : io.addEventListener('load', cb, false);
form.submit();
} finally {
form.setAttribute('action', a);
if (t) {
form.setAttribute('target', t);
} else {
$form.removeAttr('target');
}
$(extraInputs).remove();
}
}