 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
25.02.2007, 11:05
|
#1
|
|
TP-Newbie
Registriert seit: Feb 2007
|
getElementsByTagName Fassungslos...
Folgendes ist mir einfach schleierhaft:
In meinem Javascript funktioniert folgendes Statement einwandfrei:
DatenInFormSchreiben = function(oForm,cDaten,cFeld)
{oForm.FldRubs.value = cDaten.getElementsByTagName(cFeld)[0].firstChild.data;}
Nun versuche ist den Fixen Feldnamen "FldRubs" mit der Variable cFeld zu ersetzen - und es geht nicht mehr...
alle folgenden Tests (ausser dem ersten) führen zu Fehler:
FUNKTIONIERT ! alert(oForm.FldRubs.value)
GEHT NICHT: alert(oForm.getElementsByTagName(cFeld)[0].value)
GEHT NICHT: alert(oForm.getElementsByTagName(cFeld)[0].Data)
GEHT NICHT: alert(oForm.getElementsByTagName(cFeld)[0].firstChild.value)
GEHT NICHT: alert(oForm.getElementsByTagName(cFeld)[0].firstChild.data)
GEHT NICHT: alert(oForm.getElementsByTagName(cFeld).firstChild.value)
GEHT NICHT: alert(oForm.getElementsByTagName(cFeld).firstChild.data)
GEHT NICHT: alert(oForm.getElementsById(cFeld)[0].value)
GEHT NICHT: alert(oForm.getElementsById(cFeld)[0].Data)
GEHT NICHT: alert(oForm.getElementsById(cFeld)[0].firstChild.value)
GEHT NICHT: alert(oForm.getElementsById(cFeld)[0].firstChild.data)
GEHT NICHT: alert(oForm.getElementsById(cFeld).firstChild.value)
GEHT NICHT: alert(oForm.getElementsById(cFeld).firstChild.data)
Kann mir jemand helfen. Ich kanns kaum fassen....
Danke und Gruss
|
|
|
25.02.2007, 12:44
|
#2
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Homburg / Saarland
|
Hallo,
kannst Du vielleicht ein komplettes Beispielscript posten bzw. online stellen?
Eine Idee, die Du vielleicht mal ausprobieren könntest, wäre
Code:
oForm.elements(cFeld).value
,d.h. "oForm" ist ein Formularobjekt und "cFeld" ist ein "String".
Tschau
Frank
|
|
|
25.02.2007, 16:26
|
#3
|
|
TP-Newbie
Registriert seit: Feb 2007
|
Ganzes Script zu kompliziert
Danke. DAs ganze Script wäre zu umfangreich (AJAX und so). Aber meine FRage ist eigentlich dadurch dokumentiert, dass
alert(oForm.FldRubs.value) funktioniert
ich will also nur noch die fix verdrahtete Feldbezeichnung ('FldRubs') mit der Variable (cFeld) ersetzen, die den Wert 'FldRubs' enthält (habe ich geprüft).
Gruss
|
|
|
25.02.2007, 16:28
|
#4
|
|
TP-Newbie
Registriert seit: Feb 2007
|
oForm.elements(cFeld).value funktioniert auch nicht.
|
|
|
25.02.2007, 18:34
|
#5
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Homburg / Saarland
|
Sorry,
aber nur mit diesen Informationen kann ich Dir leider nicht helfen. Es gibt hier zu viele Unbekannte ( Welche Elemente, welche Namen, doppelte Namen, usw. )
Man greift innerhalb eines Formulars mit "oForm.elements(variableName)" auf ein "variables" Element mit Namen "variableName" zu. Wenn dies bei Dir nicht geht, müßte man das genauer untersuchen. Online-Link ? Dann könnte ich vielleicht debuggen.
Gibt es eigentlich genau "ein" Element mit "Namen" ( Nicht Id ! ) "FldRubs" ?
Tschau
Frank
|
|
|
03.01.2008, 16:32
|
#6
|
|
TP-Member
Registriert seit: Jul 2007
|
argh...
"...zu viele unbekannte...", "...poste doch bitte mal alle 12.000 Zeilen..." - blödsinn. solche antworten sind weniger wert als gar keine & spammen nur google zu!
Den fehler kann man in der zweiten codezeile erkennen:
...getElementsByTagName(cFeld)
der befehl liefert elemente nach tags (INPUT, SELECT,...), nicht IDs. richtig ist somit:
...getElementByID(cFeld)
dann stimmt alles!
ps:
<form>.elements ist ein array, keine funktion. korrekt wäre:
oForm.elements[variableName]...
Geändert von xxcoolja (03.01.2008 um 20:48 Uhr).
|
|
|
03.01.2008, 22:49
|
#7
|
|
TP-Specialist
Registriert seit: Mar 2005
Ort: Unterfranken
|
Zitat:
Zitat von xxcoolja
"...zu viele unbekannte...", "...poste doch bitte mal alle 12.000 Zeilen..." - blödsinn.
|
Ja, aber...
Zitat:
der befehl liefert elemente nach tags (INPUT, SELECT,...), nicht IDs. richtig ist somit:
...getElementByID(cFeld)
dann stimmt alles!
|
...woher willst du wissen, dass cFeld eine ID und keinen Tag-Namen enthält?
|
|
|
04.01.2008, 00:54
|
#8
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Homburg / Saarland
|
@xxcoolja:
Da muß ich zu meiner Schande eingestehen, daß ich die eckigen Klammern vergessen habe. Sorry, ich arbeite wohl zuviel mit dem MSIE und Opera. Die liefern nämlich keinen Fehler.
Des Weiteren hatte ich wohl auch sonst einen schlechten Tag: Ich hab' wahrscheinlich überall "getElementsByName" gesehen und nicht wie's richtig gelautet hätte "...byTagName".
Nichtsdestotrotz gehe ich davon aus ( ich weiß es aber nicht ), daß er ein Element mit dem Namen "FldRubs" sucht und nicht mit einer Id.
Ich wollte auch keine Beispiel mit 12000 Zeilen haben, sondern ein Beispielscript, denn wenn jemand 12000 Zeilen scriptet, kann er auch das Problem auf's Wesentliche einschränken.
Es ist schön, daß Du den Weg ins Traumprojekt gefunden hast und Dich aktiv an der Lösung der Javascript Probleme beteiligst. Danke !
Herzlich Willkommen im Traumprojekt.
|
|
|
04.01.2008, 16:19
|
#9
|
|
TP-Member
Registriert seit: Jul 2007
|
sorry für die harschheit, mußte aber trotzdem irgendwie sein:
ich bin entwickler & als solcher nie am auslernen. somit muß ich oft google durchforsten & seh einfach in den letzten jahren zu sehr den trend zu den pseudo-weißnicht-antworten in foren:
* bitte zeig mir doch dein ganzes script (wenn jemand nach syntax und inhalt von Request.ServerVariables fragt)
* poste doch mal deine gesamte systemkonfiguration samt gerätenummern und preislisten (wenn jemand ganz offensichtlich das geräusch einer geheadcrashten hd beschreibt)
* die frage war schon längst, schau doch gefälligst dort nach -><broken link vom 13.05.1998> (wenn jemand ne simple ja/nein frage stellt, deren antwort stundenlange fehlentwicklung verhindert hätte)
* verwend doch einfach nicht den blöden xy-browser (wenn jemand ein problem beim entwickeln einer kommerziellen multiplattformseite hat)
mein vorsatz für 2008 is halt einfach, überall dort, wos möglich wäre, die antworten bereitzustellen, wenn das jeder täte, gäbs weniger grausam verendete threads im netz & weniger graue haare auf it-köpfen.
es ist nämlich ein gräßliches gefühl im bauch, wenn man nach stundenlanger suche über google genau die frage findet, die man selbst hat & dann auf solche antworten stößt.
man verteilt ja auch keine flugzettel an touristen, wo auf 10 sprachen draufsteht "ich kenn mich hier auch nicht aus".
just my two cents.
|
|
|
04.01.2008, 19:03
|
#10
|
|
TP-Moderator
Registriert seit: Aug 2004
Ort: Homburg / Saarland
|
Das ganze hat zwar nichts mehr mit dem eigentlichen Problem zu tun, aber trotzdem noch ein paar Worte dazu.
(1) Deine "Harschheit", wie Du es nennst, fand ich ehrlich gesagt, total fehl am Platz. Das jemand, der mich nicht kennt, sagt, ich fabriziere "Blödsinn" kommt auch selten vor,aber damit kann ich leben. Jeder der mich kennt, weiß genau, daß ich versuch' zu helfen. Nur manchmal ist aus der Fragestellung nicht direkt erkennbar, wo das eigentliche Problem liegt.
(2) Ich bin beruflich auch Entwickler und programmiere seit ca. 25 Jahren in den unterschiedlichsten Programmiersprachen. Pseudoantworten hasse ich genauso wie "diese" Antworten bzgl. des verwendeten Browsers. Wir entwickeln eine WebApplikation, die nur mit dem MSIE läuft. Warum? Unsere Großkunden setzen numal weltweit MS-Produkte ein. Antworten wie "Wenn Du Firefox benutzt, geht das ganze aber" nutzen mir dann auch wenig.
Ich kann aber Deinen "Frust" ( ich nenn' es einfach mal so ) gut verstehen. Nur ist es manchmal auch als Forenantworter nicht leicht: Oft hat man es mit totalen Javascriptanfängern zu tun, die denken, sie müßten nur ein paar Scripte, die sie aus den unterschiedlichsten Quellen haben, zusammenkopieren und dann läuft alles. Wenn's nicht geht, schreibt man noch kurz eine betreffende Frage in ein Forum: "Leider geht das ganze nicht! Es gibt eine Fehler. Ich bräuchte aber noch das und das das. Kann mir bitte jemand helfen?" Wenn man solche Threads öfter liest, wird man ab einem gewissen Punkt auch etwas "zurückhaltener".
Hier im Traumprojekt-Forum geht man fair und freundlich miteinander um ( und ich kenne einige wo's nicht so ist! ). Aus diesem Grunde ist es auch das einzigste Forum in dem ich noch "richtig" aktiv bin.
Also nimm das ganze nicht so ernst und hilf uns das Traumprojekt noch besser zu machen.
Tschau
Frank
Geändert von Malleus (04.01.2008 um 20:06 Uhr).
Grund: Rechtschreibfehler
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 22:04 Uhr.
|
 |