Habe hier warscheinlich irgendwas banales übersehn...
Ich bastel an einer aus einem frameset bestehenden Seite,
die im obersten Frame ein select (Formular) hat, in dem man
die Sprache der Seite ändern können soll.
Die komplette englische Version der Seite liegt in einem Unterverzeichnis namens "/en/"
Ich lasse also das gesamte Frameset sprengen, um es in der jeweils anderen Sprache wieder neu aufbauen zu lassen.
Das script sollte eigentlich die aktuelle Sprache mittels überprüfung des aktuellen Pfads festellen und dann ins jeweils andere Verzeichnis zurückgehn, sofern die andere Sprache gewählt wurde.
Es klappt genau einmal der Wechsel von Deutsch(standard) auf das komplette Englische.
Danach geht nichts mehr plus Fehlermeldungen.:
js:
##########################################################
function changeLang(sprach){
var lang = sprach;
if(lang=="englisch" && self.location.href.indexOf('/index.htm'>-1)){
this.window.open('en/index.htm',frame='_parent', void(''));
}
if(lang=="deutsch" && self.location.href.indexOf('en/index.htm')>-1){
this.window.open('../index.htm',frame='_parent', void(''));
}
else{
return;
}
}
#########################################################
html:
...
<form name="sprachform" enctype="text/plain" method="get" target="_parent" action="javascript:changeLang(document.sprachform.language.value)">
<div id="formtext" align="right">select language:
<select name="language" size="1">
<option value="deutsch">deutsch</option>
<option value="englisch">english</option>
</select>
<input type="Submit" name="change" value="OK"></div>
</form>
...
Der Wert der "option" wird an die Funktion changeLang übergeben.(ich weiss, alles ein bisschen umständlich, aber noch in der Entwicklung.. ;-) )
"index.htm" ist jeweils das Frameset (startseite)..
habs schon mit absoluten Pfadangaben in der "changeLang()"-Funktion
versucht.
Danke im vorraus!