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
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.

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.