Problema en la orden de guardar valor elejido en cookies

CoGoYiTo a la(s) 16h09
30
Jan
2012
Mi duda es, como hago para que los datos introducidos en un input type text, o el fondo actual, se guarden en una cookie, lo que es la configuración de una pagina HTML que al dar a un boton por ejemplo se guarde la visual en una cookie (imagen de fondo y color de fondo sobe todo) y a poder ser hacer que no caduque.


Plan al codigo de esta pagina: http://www.iec.csic.es/criptonomicon/cookies/colores.html

Código:


<html>

<head><script LANGUAGE="JavaScript">
<!-- Begin Script
// les damos 30 días de vida a las cookies
var validez = 30;
var caduca = new Date();
caduca.setTime(caduca.getTime() + (validez*24*60*60*1000));

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

function setCookie(name, value, expires, path, domain, secure) {
  document.cookie = name + "=" + escape(value) +
  ((expires == null) ? "" : "; expires=" + expires.toGMTString()) +
  ((path == null) ? "" : "; path=" + path) +
  ((domain == null) ? "" : "; domain=" + domain) +
  ((secure == null) ? "" : "; secure");
}

function fijaColor(sel)
{
   var i=0;
   while (!(sel[i].checked))
      i++;
   setCookie ("color", i+1, caduca);
    }

function poneColor( pag, color )
{
   if (color==1)
   {
      pag.document.fgColor="Black";
      pag.document.bgColor="White";
   }
     if (color==2)
   {
      pag.document.fgColor="Blue";
      pag.document.bgColor="Yellow";
   }
   if (color==3)
   {
      pag.document.fgColor="Yellow";
      pag.document.bgColor="Black";
   }
   if (color==4)
   {
      pag.document.fgColor="#800080";
      pag.document.bgColor="#FFEEEE";
   }
}

//  End Script -->
</script>

<title>Cookies - Ejemplo de personalización de colores</title>
</head>

<body onLoad="window.defaultStatus='Mi página de Criptografía y Seguridad';return true">
<script language="JavaScript">
<!--
var col=getCookie('color');
if ( col != null )
   poneColor(this, col);
//-->
</script>


<h2>Página con colores personalizados</h2>

<p>Si has leido los ejemplos anteriores, ya no te harán falta las indicaciones sobre
etiquetas y cabeceras. Si quieres ver los entresijos de esta aplicación, edita la página
HTML y examina el código fuente.</p>

<p>La forma como funciona es la siguiente:</p>

<p>Selecciona el tipo de colores que te guste más y acontinuación pulsa el botón de
fijar color. La página se actualiza automáticamente y verás que cambia a los colores
seleccionados.</p>

<p><font size="-2"><b>Nota:</b> Si usas Internet Explorer es posible que no se actualice
automáticamente. En ese caso, pulsa el botón de la barra de navegación que dice
"Actualizar".</font></p>
<div align="center"><center>

<table border="1" cellpadding="20">
  <tr>
    <td><form name="formulario" method="post"
    action="javascrip:fijaColor(document.formulario.config)">
      <p><input type="radio" name="config" checked value="1"> Página normal<br>
      <input type="radio" name="config" value="2"> Página chillona<br>
      <input type="radio" name="config" value="3"> Página de hacker<br>

      <input type="radio" name="config" value="3"> Página delicada</p>
      <div align="center"><center><p><input type="button" name="Fijar Color" value="Fijar Color"
      onClick="fijaColor(document.formulario.config); window.location.reload();"> </p>
      </center></div>
    </form>
    </td>
  </tr>
</table>
</center></div>

<p>[<a href="ejemplos.html">Volver a página de ejemplos</a>] </p>
</body>
</html>






Y la función con la que yo modifico el color de fondo es la siguiente:

Código:


function fondocolor(){
document.body.style.backgroundColor = document.getElementById('color').value;
}



Intente hacerlo asi:

Código:


     if (color==2)
   {
      pag.document.body.style.backgroundColor=document.getElementById('color').value;
   }



Ya que el color 1 lo uso para restablecer valores por defecto y el 3 y 4 los he anulado, si coloco en el valor:

Código:


     if (color==2)
   {
      pag.document.body.style.backgroundColor="black"
   }



La cookie afecta, se guarda y todo bien, el problema es que

Código:


     if (color==2)
   {
      pag.document.body.style.backgroundColor=document.getElementById('color').value;
   }

o
Código:

     if (color==2)
   {
      pag.document.body.style.backgroundColor="document.getElementById('color').value;";
   }



No me funciona, deveria tomar el valor al igual que lo hace la pagina del id color, no entiendo porque si al seleccionar el color el valor en la pagina se modifica pero en la cookie no, ¿donde esta el error en la linea?, se que va plan, de que la cookie solo guarda el "if (color==2)" y cuando arranca saca el valor que haya en "if (color==2)", como en el codifo meto el document pero este no contiene ningun valor pues no puede cargar los datos, deveria ser algo plan a esto:


Código:

     if (color==2)
   {
      if (pag.document.body.style.backgroundColor="document.getElementById('color').value;")
   }


para que envede guardar en la cookie el dato valor seleccionado es (color==2) guarde (pag.document.body.style.backgroundColor="document.getElementById('color').value;") que viene a decir que la cookie al arancar cargue (color de fondo= valor) y si se elijio por ejemplo #FF0000 quede asi el dato en la cookie (color de fondo=#FF0000), el problema es que ando atascado, este metodo tampoco me funciona y no se me ocurre como puede hir. Ayuda por favor!.

1 CoGoYiTo, el 31/01/2012 a la(s) 17h08
Up!

Código:


pag.document.body.style.backgroundColor¿?fondocolor("=""+document.getElementById('color').value+""");



Estoy en este punto, nose que le falta en donde estan las '¿?', no va un '.' ni un '=' ya que este lo he añadido a la función, para que sea llamado el codigo, nose si va un onload o que, ya que de scripts yo soy un noob xD, porfavor ayudenme a desarrollar el script que me hace falta :) .


2 CoGoYiTo, el 02/02/2012 a la(s) 04h39
UP!

Código:


function fondocolor(){
document.body.style.backgroundColor = document.getElementById('color').value;
}



¿Entonces nadie me alluda?, mi problema es que necesito un scrit que cuando pulse un boton me guarde una cookie con el valor que yo aya mandado atraves de:

Código:


document.getElementById('color').value;



Es decir la pagina de por si otorga un valor de documento a ese codigo y yo quiero que al clicar un boton se guarde una cookie que previamente a leido el valor, para asi cuando vuelva a entrar a la pagina me conserve el valor que yo le otrogue.

Espero ayuda y gracias de antemano a quien me ayude :S.


3 CoGoYiTo, el 07/02/2012 a la(s) 22h01
UP!
4 CoGoYiTo, el 08/02/2012 a la(s) 23h09
UP!
5 CoGoYiTo, el 11/02/2012 a la(s) 14h32
UP!
6 Celina, el 14/02/2012 a la(s) 12h10
Hola

te recuerdo las normas de la seccion :

/t113178-normas-de-la-seccion-problemas-con-codigos

entonces hay que esperar Zen
Temas similares
Quisiera saber si pasa algo con el hosting, en más de un foro al editar el css los guarda mal, o los muestra incompletos, lo editado no muestra cambios o hace cambios diferentes a los editados.
holaa a todos, pues trataré de no alargarme mucho y explicar bien... En mi foro, actualmente tengo 756 mensajes, las cookies están activadas, y cada X mensajes, no me deja enviar mas, y tengo que eliminar las cookies del foro. Esto ya me a pasado varia
Kaixo, ¿En que orden se van ejecutando los scripts en el arranque? Es que quiero ejecutar la orden ether-wake en cuanto se enciende el deco y no se cual es el script que se ejecuta primero. Insertando la orden ether-wake al principio del script qu
A ver también
more_less
Informaciones

6 Respuestas Para el tema :
"Problema en la orden de guardar valor elejido en cookies"

Este tema a sido visto 375 veces.

Último mensaje escrito :
30/01/2012 a la(s) 16h09 por "CoGoYiTo"