Converting Eloqua form to work with Gravity Forms
-
I am working on a wordpress installation that uses eloqua for its newsletters. It runs the form in a widget and the code is this:
<input type="hidden" name="elqCookieWrite" value="0"> <?php if ($instance['title']) echo $before_title . $instance['title'] . $after_title; if ($instance['content']) { echo $instance['content']; } ?> <?php if ($instance['newsletters']) { ?> <div><ul> <?php $newsletters = explode("\n", trim($instance['newsletters'])); foreach ($newsletters as $newsletter) { if (stristr($newsletter, '|')) { $n = explode('|', $newsletter); $name = trim($n[0]); $id = trim($n[1]); $option = trim($n[2]); // 0 => newsletter name, 1 => newsletter id, 2 => hidden/checked/unchecked if (stristr($option,"hidden")) { $type = 'hidden'; $checked = ''; $label = ''; } else { $type = 'checkbox'; $checked = (stristr($option,"checked")) ? ' checked="checked"' : ''; $label = '<label for="'.$id.'">'.$name.'</label>'."\n"; } echo '<li><input type="'.$type.'" id="'.$id.'" name="newsletters[]" value="'.$id.'"'.$checked.'>'."\n".$label; } } ?> </ul></div> <?php } ?> <div><label for="emailAddress">Email<span class="required">*</span></label> <input type="text" name="emailAddress" id="emailAddress" /></div> <div><label for="country">Country<span class="required">*</span></label> <select name="country" id="country"> <?php echo $this->get_country_options(); ?> </select></div> <input type="submit" name="x" value="Subscribe" class="button subscribesubmit elq-subscribe-btn" /> <?php if ($instance['legaltext']) { echo '<p class="legaltext">'.$instance['legaltext'].'</p>'; } ?> </form> </div> <script src="https://img.en25.com/i/livevalidation_standalone.compressed.js" type="text/javascript"></script> <script type="text/javascript"> var dom0 = document.querySelector('.elqnewsletter #emailAddress'); var field0 = new LiveValidation(dom0, { validMessage: "", onlyOnBlur: true }); field0.add(Validate.Presence, { failureMessage: "This field is required" }); field0.add(Validate.Format, { pattern: /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i, failureMessage: "A valid email address is required" }); var dom1 = document.querySelector('.elqnewsletter #country'); var field1 = new LiveValidation(dom1, { validMessage: "", onlyOnBlur: true }); field1.add(Validate.Presence, { failureMessage: "This field is required" }); jQuery("#<?php echo $this->id; ?>").submit(function(e) { var queryString = ""; queryString += "elqFormName="+jQuery("#elqFormName").val(); queryString += "&elqCustomerGUID="+jQuery("#elqCustomerGUID").val(); queryString += "&emailAddress="+jQuery("#emailAddress").val(); queryString += "&country="+jQuery("#country").val(); queryString += "&x=Submit"; var newsletters = jQuery('#<?php echo $this->id; ?> :checkbox'); newsletters.each(function() { var name = this.name; if (name.indexOf("[]") != -1) { if (jQuery(this).is(":checked")) { queryString += "&newsletters[]="+jQuery(this).val(); } } }); jQuery.ajax({ type: "GET", url: "<?php echo site_url(); ?>/eloqua_submit?"+queryString, }); }); </script> <?php } echo $after_widget; }It posts as get, and then gravity forms is able to pull that information from the query strings being passed.
However we are getting warnings about google about using the get method because of passing data in the url, it doesn’t like it. So we want to change it to post.
Simply changing the method to post doesn’t work. And gravity forms doesn’t let you edit actual form code. So I can not change anything. And I don’t want to edit the plugin itself.
All I have is the form output that puts the passed data into hidden fields
<ul class="gform_fields top_label form_sublabel_below description_below" id="gform_fields_27"> <li class="gfield gform_hidden field_sublabel_below field_description_below" id="field_27_1"><input type="hidden" value="DCKEmailSignupFULL" class="gform_hidden" id="input_27_1" name="input_1"></li> <li class="gfield gform_hidden field_sublabel_below field_description_below" id="field_27_2"><input type="hidden" value="" class="gform_hidden" id="input_27_2" name="input_2"></li> <li class="gfield gform_hidden field_sublabel_below field_description_below" id="field_27_3"><input type="hidden" value="" class="gform_hidden" id="input_27_3" name="input_3"></li> <li class="gfield gform_hidden field_sublabel_below field_description_below" id="field_27_8"><input type="hidden" value="" class="gform_hidden" id="input_27_8" name="input_8"></li>How can I edit the form to pass correctly to gravity forms?
The topic ‘Converting Eloqua form to work with Gravity Forms’ is closed to new replies.