Jump to content

Saving radio button values to cookie


Ty44ler

Recommended Posts

I think I have a fairly simple question. I'm trying to set the values of Radio buttons, check boxes and drop down lists so my users can go back and edit the form for a certain amount of time.

 

So far it only saves text box values

 

I tried to implement the radio buttons in there but it doesn't work.

 

What do I need to do so that radio buttons, check boxes and drop down list values are all saved?

 

Javascript:

<script>

/**
* Set a cookie
* @param string cookie name
* @param string cookie value
* @param string cookie expiration counter in days
* @param string cookie path
* @param string cookie domain
* @param bool secure?*/
function setCookie( name, value, expires, path, domain, secure ) {
var today = new Date();
today.setTime( today.getTime() );
if ( expires ) {
	expires = expires * 5 * 60;
}
var expires_date = new Date( today.getTime() + (expires) );
document.cookie = name+"="+escape( value ) +
	( ( expires ) ? ";expires="+expires_date.toGMTString() : "" ) +
	( ( path ) ? ";path=" + path : "" ) +
	( ( domain ) ? ";domain=" + domain : "" ) +
	( ( secure ) ? ";secure" : "" );
}

/*
* Get a cookie value
* @param string cookie name*/


function getCookie( name ) {
var start = document.cookie.indexOf( name + "=" );
var len = start + name.length + 1;
if ( ( !start ) && ( name != document.cookie.substring( 0, name.length ) ) ) {
	return null;
}
if ( start == -1 ) return null;
var end = document.cookie.indexOf( ";", len );
if ( end == -1 ) end = document.cookie.length;
return unescape( document.cookie.substring( len, end ) );
}

/**
* Remebers form inputs after you fill them in
* @param string a prefix to prepend to all cookie names. (prevent naming conflicts)*/

function rememberFormInputs(form_id, prefix) {
// get a reference to the form element with id 'form_test'
var form = document.getElementById(form_id);
// get all child input elements of the form
var els = document.getElementsByTagName('input');
// iterate through all form child input elements
for (var i = 0; i < els.length; i++) {
	// this is the element with index of i
	var el = els.item(i);
	// make sure this is a text input field
	if (el.type == 'text') {

		// event handler to catch onblur events
		// it sets the cookie values each time you move out of an input field
		el.onblur = function() {
			// this is the name of the input field
			var name = this.name;
			// this is the value of the input field
			var value = this.value;
			// set the cookie
			setCookie( prefix + name, value);
			alert('setCookie: '+name + ' = '+value);
		};	

		// this inserts all the remembered cookie values into the input fields
		var old_value = getCookie(prefix + el.name);
		if (old_value && old_value != '') {
			alert('old value remembered: '+old_value);
			el.value = old_value;
		}
	}	

			// make sure this is a text input field
	if (el.type == 'radio') {

		// event handler to catch onblur events
		// it sets the cookie values each time you move out of an input field
		el.onblur = function() {
			// this is the name of the input field
			var name = this.name;
			// this is the value of the input field
			var value = this.value;
			// set the cookie
			setCookie( prefix + name, value);
			alert('setCookie: '+name + ' = '+value);
		};	

		// this inserts all the remembered cookie values into the input fields
		var old_value = getCookie(prefix + el.name);
		if (old_value && old_value != '') {
			alert('old value remembered: '+old_value);
			el.value = old_value;
		}
	}




}	
}

// function will be run after window/document loads
window.onload = function() {
rememberFormInputs('form_test', 'input-');
}

// overload alert
function alert(str) {
var el = document.getElementById('alert');
if (el) {
	el.value += str+"\r\n";
}
}

</script>

 

HTML:

<select name="Refrigerant_Type" >
<option value="">Please Select Refrigerant Type</option>
<option value="R-22">R-22</option>
<option value="R-410 A">R-410 A</option>
<option value="R-134 A">R-134 A</option>
<option value="R-409 A">R-409 A</option>
<option value="R-418 A">R-418 A</option>
<option value="R-404 A">R-404 A</option>
</select>

<br />
<input type="text" name="Lubricant" />

<br />
<input type="radio" value="Comfort" name="Duty" class="radio" /> Comfort
<input type="radio" value="Commercial" name="Duty" class="radio" /> Commercial 
<input type="radio" value="Under"  name="Duty" class="radio" /> Under 50lbs 
<input type="radio" value="Other"  name="Duty" class="radio" /> Other

<br />
<input type="checkbox" name="New1" value="Yes" /> New<br />
<input type="checkbox" name="RecoveredNew1" value="Yes" /> Recovered<br />

Link to comment
https://forums.phpfreaks.com/topic/187249-saving-radio-button-values-to-cookie/
Share on other sites

Have a radio button, value = yes.

if(isset($_POST['submit'])){
$time = time() + 60*60*24*1000; // Length of time till cookie expires.
if($_POST['radiobutton'] == 'yes'){ setcookie(cookie name, 'yes', $time);  } else { setcookie(cookie name, 'no', $time); }
}

 

You should get the drift.

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.