Mad Mimi Integration problems

Best Wordpress plugin to engage your users and collect their email. You can use header alerts, popups, or exit pages, and it works with any popular emailing service such as Mailchimp or AWeber
calastudio
Junior Member
Posts: 5
Joined: Thu Apr 11, 2013 8:00 pm

Mad Mimi Integration problems

Post by calastudio »

Has anyone successfully integrated with Mad Mimi?

It seems that the variables (name and email address) are not being sent (when i look at my Mad Mimi subscribers the email address I am testing is not in the list).

Here's where the popup form is displayed - http://www.calastudio.com/video-de-bodas/

Here is the form Mad Mimi supplies

Code: Select all

<form action="https://madmimi.com/signups/subscribe/77930" method="post" id="mad_mimi_signup_form" target="_blank"> 
  <fieldset> 
   <div class="mimi_field text email required"> 
    <label for="signup_email">Email</label> 
    <input id="[B]signup_email[/B]" name="signup[email]" type="text" placeholder="[email protected]" data-invalid-message="This field is invalid" class="required"> 
    <div class="mimi_field_feedback"></div><span class="mimi_funk"></span> 
   </div> 
   <div class="mimi_field text required"> 
    <label for="signup_name" id="wf_label">Name</label> 
    <input id="[B]signup_name[/B]" name="signup[name]" data-required-message="This field is required" type="text" class="required"> 
    <div class="mimi_field_feedback"></div><span class="mimi_funk"></span> 
   </div> 
   <div class="mimi_field action"> 
    <input id="webform_submit_button" value="Inscribirse!" type="submit" class="submit" data-default-text="Inscribirse!" data-submitting-text="Sending…" data-invalid-text="↑ You forgot some required fields"> 
   </div> 
  </fieldset> 
 </form> 
<script type="text/javascript">
(function() {
  var form = document.getElementById("mad_mimi_signup_form"),
      submit = document.getElementById("webform_submit_button"),
      email = /.+@.+\..+/;
      
  form.onsubmit = function(event) {
    var isValid = validate();
    if(!isValid) {
      for(var i = 0; i < form.elements.length; ++i) {
        var input = form.elements[i];
        if(input.className.indexOf("required") >= 0) {
          input.onchange = validate;
        }
      }
      return false;
    }
    if(form.getAttribute("target") != "_blank") {
      form.className = "mimi_submitting";
      submit.value = submit.getAttribute("data-submitting-text");    
  		submit.disabled = true;
  		submit.className = "disabled";
    }

    setTimeout(function() {
      for(var i = 0; i < form.getElementsByTagName("input").length; ++i) {
        var input = form.getElementsByTagName("input")[i];
        if(input.getAttribute("type") == "text") {
          input.value = "";
        }
        if(input.id == "signup_email") {
          input.placeholder = "[email protected]";
        } else {
          input.placeholder = "";
        }
      }
    }, 3000);
  };
  
  function validate() {
    var isValid = true;
    
    for(var i = 0; i < form.elements.length; ++i) {
      var input = form.elements[i],
          allDivs = input.parentNode.getElementsByTagName("div");

      if(input.className.indexOf("required") >= 0) {
        if(input.id == "signup_email") {
          if(!email.test(input.value)) {
            emailErrorMessage(input, allDivs);
            isValid = false;
          } else {
            removeErrorMessage(input, allDivs);
          }
        } else {
          if((input.type == "checkbox" && !input.checked) || input.value == "" || input.value == "-1") {
            fieldErrorMessage(input, allDivs);
            isValid = false;
          } else {
            removeErrorMessage(input, allDivs);
          }
        }
      }
    }
    
    form.className = isValid ? "" : "mimi_invalid";
    submit.value = isValid ? submit.getAttribute("data-default-text") : submit.getAttribute("data-invalid-text");
		submit.disabled = !isValid;
		submit.className = isValid ? "submit" : "disabled";
    
    return isValid;
  }

  function emailErrorMessage(input, allDivs) {
    if(input.getAttribute("data-webform-type") == "iframe") {
      input.className = "required invalid";
      input.placeholder = input.getAttribute("data-required-message") || "This field is required";
    } else {
      allDivs[0].innerHTML = input.getAttribute("data-invalid-message") || "This field is invalid";
    }
  }

  function fieldErrorMessage(input, allDivs) {
    if(input.getAttribute("data-webform-type") == "iframe") {
      input.className = "required invalid";
      input.placeholder = input.getAttribute("data-required-message") || "This field is required";
    } else {
      for(var i = 0; i < allDivs.length; ++i) {
        var element = allDivs[i];
        if(element.className.indexOf("mimi_field_feedback") >= 0) {
          return element.innerHTML = input.getAttribute("data-required-message") || "This field is required";
        }
      }
    }
  }

  function removeErrorMessage(input, allDivs) {
    if(input.getAttribute("data-webform-type") == "iframe") {
      input.className = "required";
    }

    for(var i = 0; i < allDivs.length; ++i) {
      var element = allDivs[i];
      if(element.className.indexOf("mimi_field_feedback") >= 0) {
        return element.innerHTML = "";
      }
    }
  }
})();
</script>