annotate gis_gui/lib/jquery.iframe-post-form.js @ 117:3369c21b66e0

polygon-Layers
author fknauft
date Wed, 02 Feb 2011 13:42:45 +0100
parents 7f008e782563
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
63
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
1 /*global jQuery */
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
2 /*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, bitwise: true, regexp: true, newcap: true, strict: true */
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
3 /**
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
4 * jQuery plugin for posting form including file inputs.
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
5 *
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
6 * Copyright (c) 2010 Ewen Elder
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
7 *
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
8 * Licensed under the MIT and GPL licenses:
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
9 * http://www.opensource.org/licenses/mit-license.php
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
10 * http://www.gnu.org/licenses/gpl.html
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
11 *
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
12 * @author: Ewen Elder <glomainn at yahoo dot co dot uk> <ewen at jainaewen dot com>
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
13 * @version: 1.0.1 (2010-07-22)
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
14 **/
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
15
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
16 'use strict';
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
17 (function ($)
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
18 {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
19 $.fn.iframePostForm = function (options)
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
20 {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
21 var contents, elements, element, iframe;
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
22
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
23 elements = $(this);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
24 options = $.extend({}, $.fn.iframePostForm.defaults, options);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
25
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
26 // Add the iframe.
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
27 if (!$('#' + options.iframeID).length)
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
28 {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
29 $('body').append('<iframe name="' + options.iframeID + '" id="' + options.iframeID + '" style="display:none"></iframe>');
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
30 }
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
31
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
32
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
33 return elements.each
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
34 (
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
35 function ()
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
36 {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
37 element = $(this);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
38
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
39
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
40 // Target the iframe.
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
41 element.attr('target', options.iframeID);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
42
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
43
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
44 // Submit listener.
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
45 element.submit
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
46 (
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
47 function ()
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
48 {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
49 options.post.apply(this);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
50
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
51 iframe = $('#' + options.iframeID);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
52 iframe.one
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
53 (
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
54 'load',
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
55 function ()
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
56 {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
57 contents = iframe.contents().find('body');
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
58 options.complete.apply(this, [contents.html()]);
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
59
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
60 setTimeout
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
61 (
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
62 function ()
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
63 {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
64 contents.html('');
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
65 },
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
66 1
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
67 );
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
68 }
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
69 );
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
70 }
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
71 );
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
72 }
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
73 );
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
74 };
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
75
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
76
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
77 $.fn.iframePostForm.defaults = {
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
78 iframeID : 'iframe-post-form', // IFrame ID.
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
79 post : function () {}, // Form onsubmit.
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
80 complete : function (response) {} // After everything is completed.
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
81 };
7f008e782563 add gui files to product via FileSystemSite
casties
parents:
diff changeset
82 })(jQuery);