Ty44ler Posted January 5, 2010 Share Posted January 5, 2010 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 More sharing options...
Irresistable Posted January 6, 2010 Share Posted January 6, 2010 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 https://forums.phpfreaks.com/topic/187249-saving-radio-button-values-to-cookie/#findComment-989334 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.