Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- jQuery.fn.extend({
- serializeValues: function () {
- if (!this.is("form")) {
- return null;
- }
- var sendValues = {};
- // get values
- var values = this.serializeArray();
- for (var i = 0; i < values.length; i++) {
- var name = values[i].name;
- // multi
- if (name in sendValues) {
- var val = sendValues[name];
- if (!(val instanceof Array)) {
- val = [val];
- }
- val.push(values[i].value);
- sendValues[name] = val;
- } else {
- sendValues[name] = values[i].value;
- }
- }
- return sendValues;
- },
- ajaxSubmit: function (callback, ajaxOptions) {
- if (ajaxOptions === undefined) {
- ajaxOptions = {};
- }
- var $form = $(this[0].form || this[0]);
- // validation
- if ($form.get(0).onsubmit && !$form.get(0).onsubmit()) return null;
- // get values
- var sendValues = $form.serializeValues();
- if (this.is(":submit")) {
- sendValues[this.attr("name")] = this.val() || "";
- }
- // send ajax request
- ajaxOptions.url = $form.attr("action");
- ajaxOptions.data = sendValues;
- ajaxOptions.type = $form.attr("method") || "get";
- if (callback) {
- ajaxOptions.success = callback;
- }
- return jQuery.ajax(ajaxOptions);
- }
- });
- // ajax submit forms
- $(function () {
- var $form = $("form.main_form");
- var submitForm = function (e, $form) {
- if( $form.find("input[type=file]").length === 0 ) {
- $("#ajax-spinner").show();
- $form.ajaxSubmit(jQuery.nette.success, {
- beforeSend: function (jqXHR) {
- return Nette.validateForm($form);
- }
- });
- e.stopPropagation();
- e.preventDefault();
- } else {
- $form.submit();
- }
- };
- // odeslání na formulářích
- $form.live("submit", function (e) { submitForm(e, $(this)); });
- $form.find(":submit").live("submit", function (e) { submitForm(e, $(this).closest("form")); });
- $("form.datagrid :submit").live("click",function (e) {
- $("#ajax-spinner").show();
- $(this).ajaxSubmit(e);
- e.stopPropagation();
- e.preventDefault();
- });
- });
Advertisement
Add Comment
Please, Sign In to add comment