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

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

<?php
echo'
     <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:

function getParameterByName(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"