Hola
unokpasabaxaki:
Técnicamente tu formulario es inaccesible. ¿Qué pasaría si tuvieramos javascript desactivado? No podríamos acceder a ningún idioma, ni siquiera podríamos entrar a la página, simplemente, porque no ocurriría nada al cambiar de opción en el select.
Lo normal sería enviar el formulario a una página PHP y en ella ver qué se ha enviado para redirigir a una página u otra.
Si aún así consideras que quieres hacerlo con javascript, te diría que colocases un par de links en HTML para salvar los problemas de accesibilidad, y que colocases un select, si es que te gusta tanto ese modo, para dirigir el flujo de idioma.
El
action de tu <form> debe contener un documento, no una función javascript. Tampoco sabemos qué es lo que no te funciona específicamente. Te paso un ejemplo de cómo podría quedar:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-type" content="text/html;charset=iso-8859-1" />
<meta name="Author" content="derkeNuke" />
<title>Página nueva</title>
</head>
<body>
<noscript>
<ul>
<li><a href="ing/index.php">Inglés</a></li>
<li><a href="esp/index.php">Español</a></li>
</ul>
</noscript>
<script type="text/javascript">
<!--
var str = "Seleccione idioma: <form action='esp/index.php'>"
str+= "<select name='idioma' onchange='cambioIdioma(this)'>";
str+= "<option value='0' selected='selected' style='color:#555;'>seleccione</option>";
str+= "<option value='esp'>Español</option>";
str+= "<option value='ing'>Inglés</option>";
str+= "</select>";
str+= "</form>";
document.write(str);
var d = "index.php";
function cambioIdioma(elSelect) {
var v = elSelect.value;
if( v!="0" ) window.location.href='../'+v+'/'+d;
}
// -->
</script>
</body>
</html>
Y un formulario sin botón de submit.. lo veo un poco mal, pero si asumimos desde un principio el javascript activado quizás podríamos dejarlo estar.
Bueno, pues así sería más o menos.
¿Qué duda tienes?