fork(9) download
  1. (function($) {
  2.  
  3. $(function() {
  4.  
  5. var progressbox = jQuery('#progressbox');
  6. var progressbar = jQuery('#progressbar');
  7. var statustxt = jQuery('#statustxt');
  8. var submitbutton = jQuery("#SubmitButton");
  9. var myform = jQuery("#wpcf7-form");
  10. var output2 = jQuery("#output2");
  11. var completed = '0%';
  12.  
  13. try {
  14. if (typeof _wpcf7 == 'undefined' || _wpcf7 === null)
  15. _wpcf7 = {};
  16.  
  17. _wpcf7 = $.extend({ cached: 0 }, _wpcf7);
  18.  
  19. _wpcf7.supportHtml5Placeholder
  20. = 'placeholder' in document.createElement('input');
  21.  
  22. $('div.wpcf7 > form').ajaxForm({
  23. beforeSubmit: function(formData, jqForm, options) {
  24. jqForm.wpcf7ClearResponseOutput();
  25. jqForm.find('img.ajax-loader').css({ visibility: 'visible' });
  26.  
  27. // added by Jan (jan-danielewicz.xn.pl)
  28. submitbutton.attr('disabled', ''); // disable upload button
  29. statustxt.empty();
  30. progressbox.slideDown(); //show progressbar
  31. progressbar.width(completed); //initial value 0% of progressbar
  32. statustxt.html(completed); //set status text
  33. statustxt.css('color','#000'); //initial color of status text
  34. //end
  35.  
  36. return true;
  37. },
  38.  
  39. // added by Jan (jan-danielewicz.xn.pl)
  40. uploadProgress: function(event, position, total, percentComplete) { //on progress
  41. progressbar.width(percentComplete + '%') //update progressbar percent complete
  42. statustxt.html(percentComplete + '%'); //update status text
  43. if(percentComplete>50) {
  44. statustxt.css('color','#fff'); //change status text to white after 50%
  45. }
  46. },
  47. /end
  48.  
  49. beforeSerialize: function(jqForm, options) {
  50. jqForm.find('[placeholder].placeheld').each(function(i, n) {
  51. $(n).val('');
  52. });
  53. return true;
  54. },
  55. data: { '_wpcf7_is_ajax_call': 1 },
  56. dataType: 'json',
  57. success: function(data, response) {
  58.  
  59.  
  60. // added by Jan
  61. output2.html(response.responseText); //update element with received data
  62. myform.resetForm(); // reset form
  63. submitbutton.removeAttr('disabled'); //enable submit button
  64. progressbox.slideUp(); // hide progressbar
  65. //end
  66.  
  67.  
  68.  
  69. if (! $.isPlainObject(data) || $.isEmptyObject(data))
  70. return;
  71.  
  72. var ro = $(data.into).find('div.wpcf7-response-output');
  73. $(data.into).wpcf7ClearResponseOutput();
  74.  
  75. $(data.into).find('.wpcf7-form-control').removeClass('wpcf7-not-valid');
  76. $(data.into).find('form.wpcf7-form').removeClass('invalid spam sent failed');
  77.  
  78. if (data.captcha)
  79. $(data.into).wpcf7RefillCaptcha(data.captcha);
  80.  
  81. if (data.quiz)
  82. $(data.into).wpcf7RefillQuiz(data.quiz);
  83.  
  84. if (data.invalids) {
  85. $.each(data.invalids, function(i, n) {
  86. $(data.into).find(n.into).wpcf7NotValidTip(n.message);
  87. $(data.into).find(n.into).find('.wpcf7-form-control').addClass('wpcf7-not-valid');
  88. });
  89.  
  90. ro.addClass('wpcf7-validation-errors');
  91. $(data.into).find('form.wpcf7-form').addClass('invalid');
  92.  
  93. $(data.into).trigger('invalid.wpcf7');
  94.  
  95. } else if (1 == data.spam) {
  96. ro.addClass('wpcf7-spam-blocked');
  97. $(data.into).find('form.wpcf7-form').addClass('spam');
  98.  
  99. $(data.into).trigger('spam.wpcf7');
  100.  
  101. } else if (1 == data.mailSent) {
  102. ro.addClass('wpcf7-mail-sent-ok');
  103. $(data.into).find('form.wpcf7-form').addClass('sent');
  104.  
  105. if (data.onSentOk)
  106. $.each(data.onSentOk, function(i, n) { eval(n) });
  107.  
  108. $(data.into).trigger('mailsent.wpcf7');
  109.  
  110. } else {
  111. ro.addClass('wpcf7-mail-sent-ng');
  112. $(data.into).find('form.wpcf7-form').addClass('failed');
  113.  
  114. $(data.into).trigger('mailfailed.wpcf7');
  115. }
  116.  
  117. if (data.onSubmit)
  118. $.each(data.onSubmit, function(i, n) { eval(n) });
  119.  
  120. $(data.into).trigger('submit.wpcf7');
  121.  
  122. if (1 == data.mailSent)
  123. $(data.into).find('form').resetForm().clearForm();
  124.  
  125. $(data.into).find('[placeholder].placeheld').each(function(i, n) {
  126. $(n).val($(n).attr('placeholder'));
  127. });
  128.  
  129. $(data.into).wpcf7FillResponseOutput(data.message);
  130. }
  131. });
  132.  
  133. $('div.wpcf7 > form').each(function(i, n) {
  134. if (_wpcf7.cached)
  135. $(n).wpcf7OnloadRefill();
  136.  
  137. $(n).wpcf7ToggleSubmit();
  138.  
  139. $(n).find('.wpcf7-submit').wpcf7AjaxLoader();
  140.  
  141. $(n).find('.wpcf7-acceptance').click(function() {
  142. $(n).wpcf7ToggleSubmit();
  143. });
  144.  
  145. $(n).find('.wpcf7-exclusive-checkbox').each(function(i, n) {
  146. $(n).find('input:checkbox').click(function() {
  147. $(n).find('input:checkbox').not(this).removeAttr('checked');
  148. });
  149. });
  150.  
  151. $(n).find('[placeholder]').each(function(i, n) {
  152. var input = $(n);
  153.  
  154. if (_wpcf7.supportHtml5Placeholder)
  155. return;
  156.  
  157. input.val(input.attr('placeholder'));
  158. input.addClass('placeheld');
  159.  
  160. input.focus(function() {
  161. if ($(this).hasClass('placeheld'))
  162. $(this).val('').removeClass('placeheld');
  163. });
  164.  
  165. input.blur(function() {
  166. if ('' == $(this).val()) {
  167. $(this).val($(this).attr('placeholder'));
  168. $(this).addClass('placeheld');
  169. }
  170. });
  171. });
  172. });
  173.  
  174. } catch (e) {
  175. }
  176. });
  177.  
  178. $.fn.wpcf7AjaxLoader = function() {
  179. return this.each(function() {
  180. var loader = $('<img class="ajax-loader" />')
  181. .attr({ src: _wpcf7.loaderUrl, alt: _wpcf7.sending })
  182. .css('visibility', 'hidden');
  183.  
  184. $(this).after(loader);
  185. });
  186. };
  187.  
  188. $.fn.wpcf7ToggleSubmit = function() {
  189. return this.each(function() {
  190. var form = $(this);
  191. if (this.tagName.toLowerCase() != 'form')
  192. form = $(this).find('form').first();
  193.  
  194. if (form.hasClass('wpcf7-acceptance-as-validation'))
  195. return;
  196.  
  197. var submit = form.find('input:submit');
  198. if (! submit.length) return;
  199.  
  200. var acceptances = form.find('input:checkbox.wpcf7-acceptance');
  201. if (! acceptances.length) return;
  202.  
  203. submit.removeAttr('disabled');
  204. acceptances.each(function(i, n) {
  205. n = $(n);
  206. if (n.hasClass('wpcf7-invert') && n.is(':checked')
  207. || ! n.hasClass('wpcf7-invert') && ! n.is(':checked'))
  208. submit.attr('disabled', 'disabled');
  209. });
  210. });
  211. };
  212.  
  213. $.fn.wpcf7NotValidTip = function(message) {
  214. return this.each(function() {
  215. var into = $(this);
  216. into.append('<span class="wpcf7-not-valid-tip">' + message + '</span>');
  217. $('span.wpcf7-not-valid-tip').mouseover(function() {
  218. $(this).fadeOut('fast');
  219. });
  220. into.find(':input').mouseover(function() {
  221. into.find('.wpcf7-not-valid-tip').not(':hidden').fadeOut('fast');
  222. });
  223. into.find(':input').focus(function() {
  224. into.find('.wpcf7-not-valid-tip').not(':hidden').fadeOut('fast');
  225. });
  226. });
  227. };
  228.  
  229. $.fn.wpcf7OnloadRefill = function() {
  230. return this.each(function() {
  231. var url = $(this).attr('action');
  232. if (0 < url.indexOf('#'))
  233. url = url.substr(0, url.indexOf('#'));
  234.  
  235. var id = $(this).find('input[name="_wpcf7"]').val();
  236. var unitTag = $(this).find('input[name="_wpcf7_unit_tag"]').val();
  237.  
  238. $.getJSON(url,
  239. { _wpcf7_is_ajax_call: 1, _wpcf7: id },
  240. function(data) {
  241. if (data && data.captcha)
  242. $('#' + unitTag).wpcf7RefillCaptcha(data.captcha);
  243.  
  244. if (data && data.quiz)
  245. $('#' + unitTag).wpcf7RefillQuiz(data.quiz);
  246. }
  247. );
  248. });
  249. };
  250.  
  251. $.fn.wpcf7RefillCaptcha = function(captcha) {
  252. return this.each(function() {
  253. var form = $(this);
  254.  
  255. $.each(captcha, function(i, n) {
  256. form.find(':input[name="' + i + '"]').clearFields();
  257. form.find('img.wpcf7-captcha-' + i).attr('src', n);
  258. var match = /([0-9]+)\.(png|gif|jpeg)$/.exec(n);
  259. form.find('input:hidden[name="_wpcf7_captcha_challenge_' + i + '"]').attr('value', match[1]);
  260. });
  261. });
  262. };
  263.  
  264. $.fn.wpcf7RefillQuiz = function(quiz) {
  265. return this.each(function() {
  266. var form = $(this);
  267.  
  268. $.each(quiz, function(i, n) {
  269. form.find(':input[name="' + i + '"]').clearFields();
  270. form.find(':input[name="' + i + '"]').siblings('span.wpcf7-quiz-label').text(n[0]);
  271. form.find('input:hidden[name="_wpcf7_quiz_answer_' + i + '"]').attr('value', n[1]);
  272. });
  273. });
  274. };
  275.  
  276. $.fn.wpcf7ClearResponseOutput = function() {
  277. return this.each(function() {
  278. $(this).find('div.wpcf7-response-output').hide().empty().removeClass('wpcf7-mail-sent-ok wpcf7-mail-sent-ng wpcf7-validation-errors wpcf7-spam-blocked');
  279. $(this).find('span.wpcf7-not-valid-tip').remove();
  280. $(this).find('img.ajax-loader').css({ visibility: 'hidden' });
  281. });
  282. };
  283.  
  284. $.fn.wpcf7FillResponseOutput = function(message) {
  285. return this.each(function() {
  286. $(this).find('div.wpcf7-response-output').append(message).slideDown('fast');
  287. });
  288. };
  289.  
  290. })(jQuery);
Runtime error #stdin #stdout 0.02s 4980KB
stdin
Standard input is empty
stdout
Standard output is empty