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"