Skip to content Skip to sidebar Skip to footer

Trying To Grab Url Parameters, And Post Them With Form

I am trying to get a landing page grab the URL parameters. I have two hidden fields in the form that match the parameter names, but I can't seem to get this to work. I need to grab

Solution 1:

If you mean GET values you can do this by either echoing the whole form with the variables in the appropriate places like so;

<?php
echo'
 <inputtype="text"name="phone"placeholder="Phone Number"required="required"><selectvalue="State"name="state"style="width:100%;height: 35px!important; margin-top: 10px!important;"><optionvalue="">Please Choose a State:</option><optionvalue="Alabama">Alabama</option><optionvalue="Arizona">Arizona</option><optionvalue="California">California</option><optionvalue="Colorado">Colorado</option><optionvalue="Connecticut">Connecticut</option><optionvalue="Delaware">Delaware</option><optionvalue="District Of Columbia">District Of Columbia</option><optionvalue="Florida">Florida</option><optionvalue="Georgia">Georgia</option><optionvalue="Illinois">Illinois</option><optionvalue="Indiana">Indiana</option><optionvalue="Iowa">Iowa</option><optionvalue="Kentucky">Kentucky</option><optionvalue="Maine">Maine</option><optionvalue="Maryland">Maryland</option><optionvalue="Massachusetts">Massachusetts</option><optionvalue="Michigan">Michigan</option><optionvalue="Minnesota">Minnesota</option><optionvalue="Missouri">Missouri</option><optionvalue="Montana">Montana</option><optionvalue="Nebraska">Nebraska</option><optionvalue="New Hampshire">New Hampshire</option><optionvalue="New Jersey">New Jersey</option><optionvalue="New Mexico">New Mexico</option><optionvalue="New York">New York</option><optionvalue="North Carolina">North Carolina</option><optionvalue="North Dakota">North Dakota</option><optionvalue="Ohio">Ohio</option><optionvalue="Oklahoma">Oklahoma</option><optionvalue="Pennsylvania">Pennsylvania</option><optionvalue="Rhode Island">Rhode Island</option><optionvalue="South Carolina">South Carolina</option><optionvalue="Tennessee">Tennessee</option><optionvalue="Texas">Texas</option><optionvalue="Utah">Utah</option><optionvalue="Virginia">Virginia</option><optionvalue="Washington">Washington</option><optionvalue="West Virginia">West Virginia</option><optionvalue="Wisconsin">Wisconsin</option></select><inputtype="number"min="18"max="64"step="1"name="birthdate"placeholder="Age"required="required"style="margin-bottom: 8px!important;"><inputtype="text"name="insuranceComp"placeholder="Insurance Company"required="required"><inputtype="text"name="memberID"placeholder="Member ID or Group Policy"required="required"><inputtype="text"name="RxBin"placeholder="Rx Bin Number"required="required"><inputtype="text"name="PcnNumber"placeholder="PCN Number"required="required"><inputtype="text"name="groupID"placeholder="Rx Group ID"required="required"><inputtype="hidden"name="SUB_1"value="'.$_GET['value1'].'"><inputtype="hidden"name="AFFILIATE_ID"value="'.$_GET['value2'].'"><buttonclass="submit"style="width: 100%;">Submit Now</button></form>
';
?>

Alternatively you could echo only the hidden fields, like so;

<?phpecho'
     <input type="hidden" name="SUB_1" value="'.$_GET['value1'].'">
     <input type="hidden" name="AFFILIATE_ID" value="'.$_GET['value2'].'">
';
?>

Solution 2:

Your conceptual approach seems reasonably sound, just a few implementation issues. The code might look something like this:

$(document).ready(function () {
 if(window.location.search && window.location.search.indexOf('&') !== -1) {
   var pairs = window.location.search.replace('?', '').split('&');
   $.each(pairs, function (index, pair) {
     var parameter = pair.split('=')[0];
     var value = pair.split('=')[1];

     if(parameter === 'AFFILIATE_ID' || parameter === 'SUB_1') {
       $('input[name="' + parameter + '"]').val(value);
     }

   });
 }
});

NOTE: this answer uses jQuery, which in this situation would probably be best for browser compatability, but I can post a pure JS solution if you need one.

Solution 3:

Your code works. You just need to add the part that populates your form fields:

functiongetParameterByName(name) {
    var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);

    var returnval = match && decodeURIComponent(match[1].replace(/\+/g, ' '));

    // populate form fields
    $("[name='"+name+"']").val( returnval );

    return returnval;
}

// fire your function when the form submits
$(function(){
    $('#contact-form').on('submit',function(){
        getParameterByName('AFFILIATE_ID');
        getParameterByName('SUB_1');
    });
});

Post a Comment for "Trying To Grab Url Parameters, And Post Them With Form"