Foros del Web » Programando para Internet » Javascript »

S.O.S. con cookie rebelde

Estas en el tema de S.O.S. con cookie rebelde en el foro de Javascript en Foros del Web. Tengo un codigo para redireccionar segun la eleccion del usuario a la pagina del lenguaje seleccionado y que siempre vuelva a entrar al idioma seleccionado, ...
  #1 (permalink)  
Antiguo 21/05/2003, 12:35
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mar del Plata
Mensajes: 203
Antigüedad: 22 años, 5 meses
Puntos: 0
S.O.S. con cookie rebelde

Tengo un codigo para redireccionar segun la eleccion del usuario a la pagina del lenguaje seleccionado y que siempre vuelva a entrar al idioma seleccionado, la cuestion es ue funciona y bien , pero para activar la cookie la tengo que llamar desde un form y yo lo quiero hacer solo haciendo click en un enlace y no me sale, no se como hacerlo, si alguien me puede ayudar taria muy agradecido.

El CODE:


<script language="JavaScript">
<!--
function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}


var expDays = 314;
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));

function getCookieVal (offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}

var favorite = GetCookie('language');

if (favorite != null) {
switch (favorite) {
case 'en' : url = '../en/index.html';
break;
case 'es' : url = '../es/index.html';
break;
case 'pt' : url = '../pt/index.html';
break;
}
window.location.href = url;
}
// -->
</script>




Y para setear la cookie:

<form>
<table width="172" border="0" align="center" cellpadding="0" cellspacing="0">
<tr align="center" valign="middle">

<td width="25%" align="left"> <div align="left"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<img src="menu/br.gif" width="18" height="12">
<input type=checkbox name="pt" onClick="SetCookie('language', this.name, exp);MM_goToURL('parent','../pt/index.html');return document.MM_returnValue">
Portugu&ecirc;s</font></div></td>

</tr>
<tr align="center" valign="middle">
<td align="left"><div align="left"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">
<img src="menu/ar.gif" width="18" height="12">
<input type=checkbox name="es" onClick="SetCookie('language', this.name, exp);MM_goToURL('parent','../es/index.html');return document.MM_returnValue">
Espa&ntilde;ol</font></div></td>
</tr>
</table>
</form>


LA PREGUNTA

Que tengo que modificar para que funcione solo haciendo click en un enlace y no tener que poner los checbox ???

DESDE YA MUCHAS GRACIAS !!!

Ayuda !!! Please !!! :)
__________________
:) Fernando Dichiera (:
[email protected]

Última edición por fermdp; 21/05/2003 a las 12:35
  #2 (permalink)  
Antiguo 21/05/2003, 13:32
Avatar de sci-fi  
Fecha de Ingreso: marzo-2002
Mensajes: 157
Antigüedad: 22 años, 1 mes
Puntos: 0
hola,

podrias probar haciendo:

<a href="javascript:" name="es" onClick="codigo original js aquí; return false;">Español</a>

y así con los otros idiomas (es importante que mantengas el atributo name como están en tu código original para cada enlace)

de todas maneras no se si te funcionara de entrada debido a que esas funciones de DreamWeaver son bastante difíciles de entender. si hay problemas sacale el 'return false;' agregado al final
  #3 (permalink)  
Antiguo 21/05/2003, 14:15
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mar del Plata
Mensajes: 203
Antigüedad: 22 años, 5 meses
Puntos: 0
mUCHAS gRACIAS !!!

EXCELENTE es lo que necesitaba muchas gracias sci-fi por la ayuda, lo probe e implemente, funciona muy bien, espero le sirva a tambien a los demas.

GRACIAS !!! :)
__________________
:) Fernando Dichiera (:
[email protected]

Última edición por fermdp; 21/05/2003 a las 15:14
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:23.