From 7f65b0eaa0e0bfe1c6ebd258def3b7c09618af55 Mon Sep 17 00:00:00 2001 From: Danny van Kooten Date: Fri, 13 Feb 2015 00:56:36 +0700 Subject: [PATCH] Fix 'oninput' not properly working in < IE9 --- assets/js/admin.js | 14 ++++++++++---- assets/js/admin.min.js | 2 +- readme.txt | 1 + 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/assets/js/admin.js b/assets/js/admin.js index 31b7f7bd..72bcaf84 100644 --- a/assets/js/admin.js +++ b/assets/js/admin.js @@ -140,20 +140,20 @@ // do nothing if no fields are missing if($.isEmptyObject(missingFields)) { $missingFieldsNotice.hide(); - return false; + return; } // show notice $missingFieldsList.html(''); for( var key in missingFields ) { var field = missingFields[key]; - var $listItem = $("
  • "); + var $listItem = $("
  • "); $listItem.html( field.name + " (" + field.tag + ")"); $listItem.appendTo( $missingFieldsList ); } $missingFieldsNotice.show(); - return true; + return; } // set the fields the user can choose from @@ -593,7 +593,13 @@ $("#mc4wp-fw-add-to-form").click(addCodeToFormMarkup); // Validate the form fields after every change - $formMarkup.on('input', checkRequiredFields); + $formMarkup.bind({ + 'input': function() { + $formMarkup.unbind('keydown'); + checkRequiredFields.call(this); + }, + 'keydown': checkRequiredFields + }); // init setMailChimpFields(); diff --git a/assets/js/admin.min.js b/assets/js/admin.min.js index fabe518e..6cdfe02e 100644 --- a/assets/js/admin.min.js +++ b/assets/js/admin.min.js @@ -1 +1 @@ -!function(a){"use strict";function b(){"boolean"==typeof this.checked&&(this.checked=!1),alert(mc4wp.strings.proOnlyNotice),event.stopPropagation()}function c(){var b=a(document.getElementById("mc4wp-send-welcome"));0==a(this).val()?b.removeClass("hidden").find(":input").removeAttr("disabled"):b.addClass("hidden").find(":input").attr("disabled","disabled").prop("checked",!1)}function d(){var b=a(document.getElementById("woocommerce-settings"));b.toggle(a(this).prop("checked"))}function e(){var b=i.filter(":checked").length>0;a(".mc4wp-notice.no-lists-selected").toggle(!b),a(document.getElementById("mc4wp-fw-fields")).toggle(b),a(document.getElementById("mc4wp-fw-mailchimp-fields")).toggle(b)}function f(b){var c=b.keyCode||b.which;if(9===c){b.preventDefault();var d=this.selectionStart,e=this.selectionEnd;a(this).val(a(this).val().substring(0,d)+" "+a(this).val().substring(e)),this.selectionStart=this.selectionEnd=d+1}}function g(){"undefined"!=typeof QTags&&(QTags.addButton("mc4wp_paragraph","

    ","

    ","

    ","paragraph","Paragraph tag",1),QTags.addButton("mc4wp_label","label","","label","Label tag",2),QTags.addButton("mc4wp_response","form response","{response}","","response","Shows the form response"),QTags.addButton("mc4wp_subscriber_count","# of subscribers","{subscriber_count}","","subscribers","Shows number of subscribers of selected list(s)"),window.mc4wp.hasCaptchaPlugin===!0&&QTags.addButton("mc4wp_captcha","CAPTCHA","{captcha}","","captcha","Display a CAPTCHA field"))}var h=a(document.getElementById("mc4wp-admin")),i=a(document.getElementById("mc4wp-lists")).find(":input"),j=a(document.getElementById("mc4wpformmarkup")),k=a(document.getElementById("missing-fields-notice")),l=a(document.getElementById("missing-fields-list"));h.find(".pro-feature, .pro-feature label, .pro-feature :radio").click(b),h.find('input[name$="[double_optin]"]').change(c),h.find('input[name$="[show_at_woocommerce_checkout]"]').change(d()),i.change(e),a(document).delegate("#mc4wpformmarkup","keydown",f),g(),function(){function b(){for(var b={},c=0;c");g.html(f.name+" ("+f.tag+")"),g.appendTo(l)}return k.show(),!0}function c(){t.find("option").not(".default").remove(),G=[],s.filter(":checked").each(function(){for(var b=a(this).val(),c=mc4wp.mailchimpLists[b],d=0,e=c.merge_vars.length;e>d;d++){var f=c.merge_vars[d];if(f.req&&G.push(f),0===u.find("option[value='"+f.tag+"']").length){var g=f.name.length>25?f.name.substring(0,25)+"..":f.name;f.req&&(g+="*");var h=a("