Integration with Mad Mimi

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

Integration with Mad Mimi

Post by calastudio »

Has anyone succesfully integrated with Mad Mimail?

It appears that the form variables are not being sent (well I don't see the email address that i am registering with appearing in myMad Mimi subscribers list)

Here's my form

http://www.calastudio.com/subscriptions/confirm-email-address/

Here's the Mad Mimi Form:

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="signup_email" 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="signup_name" 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>
Jean-Christophe Bisoux
Posts: 283
Joined: Tue Feb 28, 2012 10:36 am
Location: Canillo, Andorra

Post by Jean-Christophe Bisoux »

Hi,

Mad Mini is not integrated in the code detector, but you can enter manually the variables like that :

Form Action URL: https://madmimi.com/signups/subscribe/77930
Form NAME field: signup[name]
Form EMAIL field: signup[email]

regards,
calastudio
Junior Member
Posts: 5
Joined: Thu Apr 11, 2013 8:00 pm

Post by calastudio »

Thanks. My problem was that I was using the "id" instead of the "name" of the input field.

So I was incorrectly using

Form NAME field: signup_name
Form EMAIL field: signup_email
calastudio
Junior Member
Posts: 5
Joined: Thu Apr 11, 2013 8:00 pm

Post by calastudio »

Thanks. My problem was that I was using the "id" instead of the "name" of the input field.

So I was incorrectly using

Form NAME field: signup_name
Form EMAIL field: signup_email
Post Reply