Sprachumschaltung in verschiedenen Ordnerebenen

eky79

Grünschnabel
hi,

ich hab ein Problem: die Sprachauswahl, die ich verwende, funktioniert nur so lange, wie die Dateien in der einen Dateiebene (also hier in "/web_DEU/" und "/web_ENG/")liegen. Wie kann ich das Skript erweitern, damit der Sprachwechsel z.B. auch in dem Verzeichnis "/web_DEU/Unterverz1/Unterverz2/" funktioniert (und nicht nur in "/web_DEU/" bzw. "/web_ENG/")?

Die Sprachauswahl:
Code:
<select tabindex="0" onChange="Go('../web_'+this.options[this.selectedIndex].value+'/')">
		<option selected value="DEU">Deutsch</option>
		<option value="ENG">English</option>
</select>

Und die function "Go" lautet:
Code:
function Go(x) 
{
  fname  = location.pathname;
  lastSlash = fname.lastIndexOf("/"); 
  fname1  = fname.substring(lastSlash+1, fname.length);

  location.href = x + fname1;
}

greetings
eky79
 
Probiers mal mit regulären Ausdrücken ;)
Code:
<script type="text/javascript">
<!--
function Go(to)
{
  location.replace(String(location.href).replace(/web_(DEU|ENG)/,'web_'+to));
}
//-->
</script>
<select tabindex="0" onChange="Go(this.value)">
		<option selected value="DEU">Deutsch</option>
		<option value="ENG">English</option>
</select>

Es wird im aktuellen Pfad das erste Vorkommen von web_DEU oder web_ENG durch das Gewünschte ersetzt...fertsch :)
 

Neue Beiträge

Zurück