übergabewerte verwenden
torsten
- javascript
moin leude!
ich habe jetzt den artikel javascript/dom von anfang an, bis zur objektreferenz wort für wort gelesen aber meine autididaktischen fähigkeiten sind wohl stark eingeschränkt... nachdem ich hier freundlicher weise auf den artikel wertübergabe mittels url hingewiesen wurde und ich mich damit beschäftigt habe hab ich wohl gemerkt, daß mein ganzer ansatz falsch ist und die einfachsten sachen nicht gelingen...
eigentlich brauch ich aus der "formular-liste" nur den ersten wert verwenden
<script>
<!--
for (var i=0;i<formular.length;i++)
{
document.write("" + formular[i] + "");
document.write("" + formular[++i] + "");
}
//-->
</script>
damit wird auf die daten zugegriffen aber eigentlich brauch ich immer nur den wert 0
<script>
<!--
for (var i=0;)
{
document.write("" + formular[i] + "");
}
//-->
</script>
funktioniert nicht, das dokument bleibt leer... wiso? bitte um hilfe...
Hi
<script>
<!--
for (var i=0;)
{
document.write("" + formular[i] + "");
}
//-->
</script>[/code]funktioniert nicht, das dokument bleibt leer... wiso? bitte um hilfe...
Vllt. ist die Schleife hier unnötig und es reicht wenn du
document.write("" + formular[0] + "");
oder so schreibst, checke am besten auch noch ab du den Teil in den KLammern richtig hast! Kenne mich mit JS nicht sooooo gut aus.
mfg
Phil Z.
moin Phil Z.!
danke für die antwort aber das:
Vllt. ist die Schleife hier unnötig und es reicht wenn du
document.write("" + formular[0] + "");
oder so schreibst, checke am besten auch noch ab du den Teil in den KLammern richtig hast!
hab ich schon versucht, leider erfolglos... formular[0] ist korrekt fals du das meintest... wird an anderer stelle auch verwendet und das geht...
Hallo!
<script>
<!--
for (var i=0;)
{
document.write("" + formular[i] + "");
}
//-->
</script>
Ich glaube, dass die for-Schleife falsch ist. Du kannst sie entweder komplett weglassen oder richtig definieren. Also mit Zähler und Abbruchbedingung. Siehe SELFHTML: <http://de.selfhtml.org/javascript/sprache/schleifen.htm#for>
ciao, ww
--
sh:( fo:| ch:~ rl:( br:> n4:~ ie:% mo:) va:) de:] zu:) fl:( ss:| ls:~ js:)
moin ww!
danke, schon besser :) das folgende:
<script>
<!--
for (var i=0;i<1;i++)
{
document.write("" + formular[i] + formular[++i] + "");
}
//-->
</script>
bringt den gewünschten efekt aber ist das auch korrekt/ sinnvoll so? wie schon gesagt, verwende ich nur document.write("" + formular[0] + ""); geschieht garnix... wiso nicht? hmmmm...
hi,
danke, schon besser :) das folgende:
<script>
<!--
for (var i=0;i<1;i++)
{
document.write("" + formular[i] + formular[++i] + "");
}
//-->
</script>
>
> bringt den gewünschten efekt aber ist das auch korrekt/ sinnvoll so?
Wozu eine Schleife, die nur ein mal durchlaufen wird?
Wozu die Leerstrings am Anfang und Ende?
> wie schon gesagt, verwende ich nur document.write("" + formular[0] + ""); geschieht garnix...
Dann machst du wohl irgendwas verkehrt. Ohne die genaueren Umstände zu kennen, können wir aber auch nicht sehen, was das sein könnte.
gruß,
wahsaga
--
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }
Hallo torsten
eigentlich brauch ich aus der "formular-liste" nur den ersten wert verwenden
Wozu brauchst du ein Formular?
Wenn ich deine Ausgangsfrage richtig verstanden habe, geht es dir um einen Link, der auf die Seite verweist, von der der Seitenbesucher kam, allerdings kein einfaches history.back(), was auch auf eine fremde Seite weisen könnte. Es soll dazu dienen, dass jemand, der auf english.html auf die deutsche Flagge klickt, nicht zur Startseite, sondern wieder zu der Seite kommt, von der er kam.
Wenn es so ist, dann würde ich keinen Link mit dokument.write
in die Seite schreiben, und extra mit noscript für javascriptlose Besucher. Stattdessen würde ich den Link ganz normal notieren, wie er jetzt ist und dann mittels einer onload-Funktion das Linkziel ändern. Genauso könnte auch der Parameter an den Link zur englischen Seite angehängt werden. Dann bräuchtest du die dafür notwendigen Funktionen nur in dein Javascript zu packen und müsstest die Seiten selbst nicht zu ändern.
Noch eine Frage: Soll das die einzige englische Seite bleiben, oder willst du das Projekt noch komplett zweisprachig machen?
Auf Wiederlesen
Detlef
hi detlef!
schön mal wieder was von dir zu hören :o)
Wozu brauchst du ein Formular?
ob ich´s benötige kann ich nicht mal genau sagen aber mein javascript is ganz aua... also verwende ich diese metode zum übergeben der daten. der autor meint ich soll ein formular verwenden weils die werte eh codiert...
Wenn ich deine Ausgangsfrage richtig verstanden habe, geht es dir um einen Link, der auf die Seite verweist, von der der Seitenbesucher kam, allerdings kein einfaches history.back(), was auch auf eine fremde Seite weisen könnte. Es soll dazu dienen, dass jemand, der auf english.html auf die deutsche Flagge klickt, nicht zur Startseite, sondern wieder zu der Seite kommt, von der er kam.
jenau ;-) es soll ein history.back() werden das zurückschickt so lange der die verweisende vorhergehende seite zu jungmann.net gehört
Wenn es so ist, dann würde ich keinen Link mit
dokument.write
in die Seite schreiben, und extra mit noscript für javascriptlose Besucher. Stattdessen würde ich den Link ganz normal notieren, wie er jetzt ist und dann mittels einer onload-Funktion das Linkziel ändern.
ich versuche mir gerade vorzustellen was du meinst (?) aber woher weiß ich dann, von wo der visitor kam? er soll ja dahin wo er herkam und nicht dahin wo der pfeffer wächst (oder wieder zu google oder so ähnlich)
Genauso könnte auch der Parameter an den Link zur englischen Seite angehängt werden. Dann bräuchtest du die dafür notwendigen Funktionen nur in dein Javascript zu packen und müsstest die Seiten selbst nicht zu ändern.
mir wäre jede andere lösung lieber (besonders einen einfachen link fänd ich cool) weil ich nämlich keinen schimmer habe wie ich letzten endes das doofe formular formatieren soll (ok, ok, das formular ist nicht doof, das prob hockt vor dem bildschirm) css ist ja nur begrenzt anwendbar und mein hübsches "flackermenü" das beim hovern highlightet ist dann an dieser stelle essig
Noch eine Frage: Soll das die einzige englische Seite bleiben, oder willst du das Projekt noch komplett zweisprachig machen?
ob du´s glaubst oder nicht... die dateien hab ich versehentlich ins stammverzeichnis geladen, weil ich faul war bleibt sie erst mal da aber für ne komplett zweisprachige seite fehlt mir schlicht die zeit (und sicher auch das vermögen alles ins englische umzusetzen) also bleibt auf unabsehbare zeit der hinweis auf englisch, das es kein englisch geben wird erhalten...
gut´s nächtle
Hallo torsten
ob ich´s benötige kann ich nicht mal genau sagen aber mein javascript is ganz aua... also verwende ich diese metode zum übergeben der daten. der autor meint ich soll ein formular verwenden weils die werte eh codiert...
Er will beliebige Daten übergeben können. Ein URL-Parameter darf aber nur Zeichen enthalten, die in URLs erlaubt sind. Ein Formular, dass mit Get verschickt wird, macht dies automatisch.
Du willst aber lediglich eine zweite URL bzw. einen Teil davon anhängen.
ich versuche mir gerade vorzustellen was du meinst (?) aber woher weiß ich dann, von wo der visitor kam?
Bei der URL-Methode müsste an jeden Link zur englischen Seite als Parameter die aktuelle Seite angehängt werden.
Auf http://www.jungmann.net/topics2007.html zum Beispiel:
<a id="lang_en" href="english.html?topics2007.html"><img ... /></a>
Die Seite english.html müsste dann den Parameter aus URL extrahieren, prüfen, ob dort kein Müll drinsteht und diesen als Linkziel von <a id="lang_de" href="start2.html"><img ... /></a>
eintragen.
Auf Wiederlesen
Detlef
moin detlef!
Auf http://www.jungmann.net/topics2007.html zum Beispiel:
<a id="lang_en" href="english.html?topics2007.html"><img ... /></a>
das ist ja mal wieder ein tipp allererster kajüte! das erhält mir auch die möglichkeiten meinen hübschen link wie gehabt mit css zu versehen (jipi!)
Die Seite english.html müsste dann den Parameter aus URL extrahieren, prüfen, ob dort kein Müll drinsteht und diesen als Linkziel von
<a id="lang_de" href="start2.html"><img ... /></a>
eintragen.
genau so, das ganze script macht aber ne ganze menge mehr als ich brauch z.b. benötige ich das unescapen nicht und die trennung bei &, das ersetzen der + etc.... alles nur ballast. aber das herauslösen der nötigen fragmente bekomm ich nicht gebacken...
var formular = new Array(0);
decode();
/* Diese Funktion decodiert die Angaben im Pfad */
function decode()
{
var url = window.location.search ; // Die Daten werden aus der
if (url != "")
{
url = url.substring(1,url.length); // Url extrahiert
}
else
{
formular[1] = "start2.html";
}
}
warscheinlich steckt in dem schnipsel alles was ich benötige... (gell?)
Moin
bei
<a id="lang_en" href="english.html?topics2007.html"><img ... /></a>
enthält
var url = window.location.search;
genau den Wert "?topics2007.html"
mit
if (url != "") url = url.substring(1,url.length);
wird daraus "topics2007.html"
Gruß
rfb
moin!
fragen über fragen...
~~~javascript
function decode()
{
var url = window.location.search ; //url lesen
if (url != "") //wenn nicht ""
{
url = url.substring(1,url.length); //zeichenkette ab pos 1 ermitteln - in selfhtml finde ich immer nur angaben die sich auf formulare beziehen wenn "length" verwendet wird... wiso?
}
else //dann
{
url = "start2.html"; //variablenwert wie oben
}
}
...könnte das obige evtl. richtig sein oder? da ich aber nicht weiß was ich oben falsch einsetze weiß ich genau so wenig warum bei verwendung von ` document.write("" + decode(url) + ""); `{:.language-javascript} nix ausgegeben wird... ist der umgang mit der obigen variable "url" richtig?
was mache ich ggf. bei dem funktionsaufruf falsch?
[mfg](http://www.jungmann.to/) [torsten](http://www.jungmann.net/extra.html)
--
![http://www.jungmann.net/topics2003.html](http://jungmann.net/_picz/auge1.png)[Shakespeare sagt: To be or not to be/](http://www.jungmann.net/topics2007.html)
![http://www.jungmann.net/topics2004.html](http://jungmann.net/_picz/auge2.png)[ Sartre sagt: To be is to do/](http://www.jungmann.net/quest.html)
![http://www.jungmann.net/topics2005.html](http://jungmann.net/_picz/auge3.png)[ Camus sagt: To do is to be/](http://www.jungmann.net/recall.html)
![http://www.jungmann.net/topics2006.html](http://jungmann.net/_picz/auge4.png)[ Sinatra singt: Do be do be do](http://www.jungmann.net/weblog.html)
Moin
function decode()
{
var url = window.location.search ; //url lesen
if (url != "") //wenn nicht ""
{
url = url.substring(1,url.length); //zeichenkette ab pos 1 ermitteln
}
else //dann
{
url = "start2.html"; //variablenwert wie oben
}
return url; //Rueckgabewert setzen !
}
>
` document.write("" + decode() + ""); `{:.language-javascript}
decode braucht keine Argumente!
Wozu du die "" brauchst hast du bislang nicht erklären können?
Dann lass sie weg.
> in selfhtml finde ich immer nur angaben die sich auf formulare beziehen wenn "length" verwendet wird... wiso?
lies einfach mal ein paar andere Beispiele, zB. bei Arrays
Gruß
rfb
--
Man kann einen Menschen nichts lehren, man kann ihm nur helfen, es selbst zu entdecken.
(Galileo Galilei)
moin!
thx4rfb :o) *froi* ich habs jetzt sogar verstanden, man muss nur mal eben wissen, das man nach rückgabewerten und return suchen muß... kann mir einer von euch zeigen WO ich danach suchen muß, denn die erklärungen die ich gefunden habe sind zumindest für meine bescheidenen fähigkeiten (oder intelligenz) nicht ausreichend... was also bewirkt "return" und an welcher stelle kann man das einsetzen?
document.write("" + decode() + "");
das hab ich auch versucht...
decode braucht keine Argumente!
aber das war mir nicht klar weil mir return nicht klar war (ist) also hab ich mit dem gelesenen ins blaue geschossen :)
Wozu du die "" brauchst hast du bislang nicht erklären können?
das war so ziemlich das einzige was mir von anfang an klar war... da kommt der rest des links rein der geschrieben werden soll... (superschlaumeier? ;)
lies einfach mal ein paar andere Beispiele, zB. bei Arrays
arrays ist ein kapitel mit dem ich mich noch zu beschäftigen habe denke ich... aber length wird hier (für mich) einleuchtender als bei den 81 anderen ergebnissen in selfhtml (dauert wohl ein wenig) die ergebnisse mit dem was man sucht in verbindung zu bringen ist nicht ganz so einfach...
@detlef:
wie meinteste denn das?
Wenn es so ist, dann würde ich keinen Link mit dokument.write in die Seite schreiben, und extra mit noscript für javascriptlose Besucher. Stattdessen würde ich den Link ganz normal notieren, wie er jetzt ist und dann mittels einer onload-Funktion das Linkziel ändern. Genauso könnte auch der Parameter an den Link zur englischen Seite angehängt werden. Dann bräuchtest du die dafür notwendigen Funktionen nur in dein Javascript zu packen und müsstest die Seiten selbst nicht zu ändern.
Hallo torsten
wie meinteste denn das?
Seltsame Frage, fast zwei Stunden, nachdem ich dir hier ein Beispiel verlinkt habe.
Auf Wiederlesen
Detlef
moin!
Seltsame Frage, fast zwei Stunden, nachdem ich dir hier ein Beispiel verlinkt habe.
tschuldigung, hab ich glatt übersehen... ich habe mir jetzt deine vier testseiten runtergeladen und zusätzlich die *.js datei das ganze ist ne wunderprima idee und funktioniert genau so prächtig, soweit ich das beurteilen kann... danke!
allerdings versuche ich gerade herauszufinden was das ganze bewirkt und wie es sich zusammensetzt...
var domain = window.location.href; //eigene url lesen
check ich z.b. nicht hier hab ich nachgeschaut und da wird doch mit der methode was übergeben und nicht gelesen...
Hallo torsten
var domain = window.location.href; //eigene url lesen
check ich z.b. nicht hier hab ich nachgeschaut und da wird doch mit der methode was übergeben und nicht gelesen...
Wie kommst du darauf, dass es eine Methode ist, schau mal auf den Anfang der Seite:
Eigenschaften:
...
hostname (Domain-Name innerhalb eines URI)
href (URI / Verweis zu URI)
pathname (Pfadname innerhalb eines URI)
...
Variable = Eigenschaft -> Der Variablen den Wert zuweisen, den die Eigenschaft hat.
Eigenschaft = Variable -> Die Eigenschaft auf den Wert der Variablen setzen.
Auf Wiederlesen
Detlef
moin!
Wie kommst du darauf, dass es eine Methode ist, schau mal auf den Anfang der Seite:
nun gut, die zusammenhänge gehen mir noch etwas verlustig, aber unter "methode" verstehen du und ich vermutlich etwas völlig verschiedenes... für dich verbindet sich mit dem wort irgendeine art von definition... welche?
ich dagegen würde ganz ungezwungen "dem weg" oder "der art und weise" damit assoziieren... werde wohl bis montag brauchen um das "auseinanderzufummeln" und hoffe das dieses posting bis dahin überlebt... meine interprätation wirst du entweder stück für stück in fragen vorfinden oder am montag als großes unbekanntes =)
Hallo torsten
nun gut, die zusammenhänge gehen mir noch etwas verlustig, aber unter "methode" verstehen du und ich vermutlich etwas völlig verschiedenes... für dich verbindet sich mit dem wort irgendeine art von definition... welche?
Vielleicht liest du mal in SELFHTML: Objektmethoden, Eigenschaften von Objekten
Auf Wiederlesen
Detlef
moin var leser = siechfried || detlef ||!= sichfried ||!= detlef *ggg* <- ich bitte diesen kleinen und völlig inkorrekten jokus zu verzeihen ;o)
Vielleicht liest du mal in SELFHTML:
ich lese mehr in self als du vielleicht vermutest, allerdings nur sehr zerpflückt...
|Objektmethoden, Eigenschaften von Objekten
jetzt habe ich auch verstanden was du meinst und kann mir eine methode zum bauen einer eselsbrücke überlegen; wie ich was auseinanderhalten muß ;-)
@siechfried: die erklärung oben ist sehr gut, danke! sowas versteh ich und kann auch die zusammenhänge auseinanderbasteln.
myObj = document.getElementById("lang_en"); // versuche, eine Referenz auf das Objekt mit der id 'lang_en' zu holen
if (myObj && myObj.href) // prüfe, ob diese Referenz gültig ist und eine Eigenschaft 'href' besitzt
{
myObj.href = myObj.href + "?" + window.location.href; //wie man diesen teil der funktion umschreiben soll ist mir auch schleierhaft [nimm die variable mit der eigenschaft href plus fragezeichen plus die adresszeile oder deren inhalt, aber worauf genau greift das zu? ich check leider nicht, wodurch wird eigentlich genau der link verändert oder überschrieben?]
wenn einer von euch lange weile hat kann er ja mal in diese javascript datei reinschauen, ich habe dem window.onload (->was ist das eigentlich schon wieder, window ist wohl die OBJEKTeigenschaft und onload die OBJEKTmethode.. das ist keine funktion, was also dann?<-) eine weitere for-schleife hinzugefügt (ist auch nicht ganz auf meinem mist gewachsen) und würde gern wissen ob das so richtig eingebunden ist... es funzt zwar im IE & FF das will aber noch nix heißen hab ich gelernt...
moin detlef!
wenn ich dich nochmal belästigen darf:
die funktion decode() hab ich, so glaube ich verstanden. aber was bedeutet/ macht das folgende?
if (document.getElementById) // wenn bedingung->(im dokument ein element mit id gefunden wird)
{
var myObj = document.getElementById("lang_de"); // das objekt mit der id=lang_de ist
if (myObj && myObj.href) // was bewirkt diese kombi genau?
was bedeutet/ macht das folgende?
if (document.getElementById) // wenn bedingung->(im dokument ein element mit id gefunden wird)
Das fragt ab, ob der Client die Methode document.getElementById kennt. Falls ja, dann ...
var myObj = document.getElementById("lang_de"); // das objekt mit der id=lang_de ist
... versuche, eine Referenz auf das Objekt mit der id 'lang_de' zu holen, und
if (myObj && myObj.href)
prüfe, ob diese Referenz gültig ist und eine Eigenschaft 'href' besitzt (typisch für Links).
Siechfred
Hallo torsten
function decode()
{
var url = window.location.search ; //url lesen
if (url != "") //wenn nicht ""
{
url = url.substring(1,url.length); //zeichenkette ab pos 1 ermitteln - in selfhtml finde ich immer nur angaben die sich auf formulare beziehen wenn "length" verwendet wird... wiso?
Du weist url eine Zeichenkette zu, womit diese ein Stringobjekt wird. Ein Stringobjekt besitzt die Eigenschaft [length](http://de.selfhtml.org/javascript/objekte/string.htm#length), wie auch die Methode [substring](http://de.selfhtml.org/javascript/objekte/string.htm#substring) neben anderen Methoden.
> ~~~javascript
}
> else //dann
> {
> url = "start2.html"; //variablenwert wie oben
> }
> }
Wenn deine Funktion etwas zurückgeben soll, dann fehlt noch return WasSieZurueckGebenSoll;
da ich aber nicht weiß was ich oben falsch einsetze weiß ich genau so wenig warum bei verwendung von
document.write("" + decode(url) + "");
nix ausgegeben wird... ist der umgang mit der obigen variable "url" richtig?
Erwartet die Funktion einen Parameter?
Wie willst du url an die Funktion übergeben, wenn url erst als lokale Variable innerhalb der Funktion angelegt wird?
Auf Wiederlesen
Detlef
Hallo torsten
ich versuche mir gerade vorzustellen was du meinst (?)
Damit du dir vorstellen kannst, wie ich es meine: Testseite zum anderen history.back
Auf Wiederlesen
Detlef