alguno me puede decir como puedo eliminar una cookies sin tener q recargar la ventana del navegador? uso un script ajax para enviar los datos de un formulario a una pagina php donde ejecuto una consulta y me devuelve unos resultados, estoy guardando los resultados en 3 cookies una para cada valor, pero cuando quiero eliminar las cookies para que me visualize los datos (sin recargar la pagina) pasa de mi totalmente hasta que no recargo la pagina. he probado a eliminar las cookies inmediatamente antes de crearla, ya se q no es un metodo muy elegante, pero tampoco funciona.
Código:
este es el codigo del script donde meto las cookies y el ajax q ejecuta el form sin recargar la pagina. Insisto en el tema pq no acabo de arrancar y me esta quemando xD.$date1 = "'".$_POST['date1']."'"; setcookie("date1", "", time() - 3600); setcookie("date1",$_POST['date1']);
Código:
gracias. function extractCookieValue(val) { if ((endOfCookie = document.cookie.indexOf(";", val)) == -1) { endOfCookie = document.cookie.length; } return unescape(document.cookie.substring(val,endOfCookie)); } function ReadCookie(cookiename) { var numOfCookies = document.cookie.length; var nameOfCookie = cookiename + "="; var cookieLen = nameOfCookie.length; var x = 0; while (x <= numOfCookies) { var y = (x + cookieLen); if (document.cookie.substring(x, y) == nameOfCookie) return (extractCookieValue(y)); x = document.cookie.indexOf(" ", x) + 1; if (x == 0){ break; } } return (null); } function enviarDatos(){ var formulario = document.getElementById("formulario"); var datos = new FormData(formulario); probadate1=document.getElementById('date1'); proba_date1=probadate1.value; probadate2=document.getElementById('date2'); proba_date2=probadate2.value; probachooser=document.getElementById('especies'); // completar la seguiente linea para obtener los values seleccionados en "selector" var txt=''; var i; var count = 0; for (i=0; i<probachooser.options.length; i++) { if (probachooser.options[i].selected) { if (count==0) txt+= "'"+probachooser.options[i].value+"'"; else txt+= "#'"+probachooser.options[i].value+"'"; } count++; } //hace la comparacion de las dos fechas compareDates('datechooser','date1','date2'); url_proba='date1='+proba_date1+'&date2='+proba_date2+'&especies='+txt; xhr(url_proba); } var xmlhttp; function xhr(datos){ //funcion para crear las peticiones de XMLHttpResquest // Generalmente sacada de páginas que usan un método para IE6 o anteriores, // IE 7, FF, Opera, Google Chrome, u otros. /*var xmlhttp;*/ if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange = procesarRespuesta; //Ojo sin parentesis xmlhttp.open("POST", "consulta2.php", true); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xmlhttp.setRequestHeader("Content-length", 3); xmlhttp.setRequestHeader("Connection", "close"); xmlhttp.send(datos); } function procesarRespuesta(){ if(xmlhttp.readyState == 4) { if(xmlhttp.status == 200) { //recarga el grid al hacer la peticion. de salida esta a false para que no lo muestre. store.load(); } } }