mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 01:23 Benutzername: Passwort: Auto-Login

Thema: IFRAME Problem vom 19.10.2005


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> IFRAME Problem
Seite: 1, 2  Weiter
Autor Nachricht
thE_iNivNciblE
Threadersteller

Dabei seit: 03.08.2005
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 19.10.2005 10:06
Titel

IFRAME Problem

Antworten mit Zitat Zum Seitenanfang

Hallo Liebe Gemeinde,

auf ein Neues:

Code:
<iframe id="iframe_ort_von" name="OrtVon" src="iframe_Ort_von.php?start=1&txtOrt_von_input=<?= $txtOrt_von_input ?>" frameborder="0" scrolling="no" height="18" width="100%"></iframe>


Dies ist die Syntax vom eingebetteten IFRAME auf der Hauptseite.

Code:
alert(OrtVon.document.Ort_Senden.getElementsByTagName('txtOrt_von_input').value);


so lautet meine Syntax in Javascript um ein Iframe anzusprechen welches ein Textfeld mit dem namen "txtOrt_von_input" beeinhaltet.

Zusatz: das <form> indem sich das Textfeld "txtOrt_von_input" befindet heißt "Ort_Senden"

Es will einfach nich klappen, hat wer noch andere möglichkeiten das Iframe anzusprechen ?

geht nicht im IE auch nich im FF (Firefox).

MfG thE_iNviNciblE


Zuletzt bearbeitet von thE_iNivNciblE am Mi 19.10.2005 10:07, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Mi 19.10.2005 10:39
Titel

Antworten mit Zitat Zum Seitenanfang

getElementsByTagName erfordert aber dann auch einen Tagnamen. Ein Tagname wäre sowas wie div, span, p oder h1. HTML kennt kein Tag das <txtOrt_von_input> heißt.
Wenn du einem Elemente eine id verpasst hast, um ein einzelnes Elemente eindeutig ansprechen zu können, dann mußt du getElementById() verwenden. Das ist es sicher, was Du suchst.
  View user's profile Private Nachricht senden
Anzeige
Anzeige
thE_iNivNciblE
Threadersteller

Dabei seit: 03.08.2005
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 19.10.2005 11:10
Titel

Antworten mit Zitat Zum Seitenanfang

rob hat geschrieben:
getElementsByTagName erfordert aber dann auch einen Tagnamen. Ein Tagname wäre sowas wie div, span, p oder h1. HTML kennt kein Tag das <txtOrt_von_input> heißt.
Wenn du einem Elemente eine id verpasst hast, um ein einzelnes Elemente eindeutig ansprechen zu können, dann mußt du getElementById() verwenden. Das ist es sicher, was Du suchst.


Hallo danke für deine Idee, aber über getElementById() hab ich es auch schon versucht.

ich hab nun mal das fragment drangehängt wie die Textbox aussieht.

Code:
<input style="height:16px;" onClick="javascript:zurueck();" onFocus="javascript:this.select();" name="txtOrt_von_input" onBlur="this.form.submit();" type="text" id="txtOrt_von_input"  size="24" value="<?php echo $txtOrt_von_input; ?>">


Code:
alert(OrtVon.document.Ort_Senden.getElementById('txtOrt_von_input').value);


schlägt leider auch fehl.
hab mich nochmals vergewissert das der "<form -Tag>" auch wirklich "Ort_Senden" heißt nicht etwa "Ort_senden"...


hat noch wer eine idee?
  View user's profile Private Nachricht senden
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Mi 19.10.2005 13:02
Titel

Antworten mit Zitat Zum Seitenanfang

Was soll denn das hier?
onClick="javascript:zurueck();"

Das gleich gilt auch für das javascript: bei den anderen Eventhandlern...
Weg damit. Das brauchst du nur wenn du in Anchor-Tags eine JS-Funktion "anspringen" willst.

Tja und ansonsten schmeisst du irgendwie wild mit names und ids rum, wie mir scheint...

Du kannst dein Formular doch auch so ansprechen:
parent.NameDesFrames.Formularname.Eigenschaft/Methode();

Dein Problem ist vermutlich, daß du versuchst, ein Frame über's DOM anzusprechen. Frame ist eine Variante des window-Objektes und das DOM kann eigentlich erst ab dem Unterobjekt document zum Einsatz kommen.


Zuletzt bearbeitet von rob am Mi 19.10.2005 13:03, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
thE_iNivNciblE
Threadersteller

Dabei seit: 03.08.2005
Ort: -
Alter: -
Geschlecht: -
Verfasst Mi 19.10.2005 13:22
Titel

Antworten mit Zitat Zum Seitenanfang

hi rob,

die Gesichte mit OnClick = hat einen anderen hintergrund, der für dieses Problem auch nicht weiter erforderlich ist. *zwinker*

rob hat geschrieben:
Was soll denn das hier?
Du kannst dein Formular doch auch so ansprechen:
parent.NameDesFrames.Formularname.Eigenschaft/Methode();

Dein Problem ist vermutlich, daß du versuchst, ein Frame über's DOM anzusprechen. Frame ist eine Variante des window-Objektes und das DOM kann eigentlich erst ab dem Unterobjekt document zum Einsatz kommen.


parent. => hatte ich auch schon probiert (ist ja ein Inline-Frame)
.NameDesFrames => OrtVon
.Forumlarname => Ort_Senden
.Eigenschaft => damit meinst du das Objekt oder ? (txtOrt_von_input)


Code:
  alert(parent.OrtVon.getElementsByTagName('txtOrt_von_input').value);

Code:
  alert(window.OrtVon.getElementsByTagName('txtOrt_von_input').value);

Code:
  alert(parent.OrtVon.document.getElementsByTagName('txtOrt_von_input').value);


>> bekomme es nicht auf die reihe, kannst du nen vorschlag machen, danke ?!

bin ein wenig verzweifelt *zwinker* Menno!
  View user's profile Private Nachricht senden
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Do 20.10.2005 11:09
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
die Gesichte mit OnClick = hat einen anderen hintergrund, der für dieses Problem auch nicht weiter erforderlich ist.

Das ändert aber nichts daran, daß es schlicht und einfach falsch ist, was du da gemacht hast.
Onclick ist ein Eventhandler. Da darf kein javascript: folgen. Das kannst du nur in einem Anchor-Tag verwenden, sprich:
<a href="javascript:funktion();">Link</a>. Nach einem Eventhandler ist es völlig ausreichend, einfach den Funktionsaufruf zu schreiben.

Tja und ansonsten kann dein Code auch nicht funktionieren. Ich hab dir doch vorhin schon geschrieben, was getElementsByTagName macht.
Damit sprichst du bestimmte Tags an. Mit getElementsByTagName('div') würdest du alle <div>irgendwas</div> ansprechen.
Tja und du versuchst halt alle Tags, die txtOrt_von_input heissen anzusprechen.
Hast du in deinem Code sowas: <txtOrt_von_input>blabla</txtOrt_von_input> ?
Nein? Dann kann das auch nichts werden...


Zuletzt bearbeitet von rob am Do 20.10.2005 11:10, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
thE_iNivNciblE
Threadersteller

Dabei seit: 03.08.2005
Ort: -
Alter: -
Geschlecht: -
Verfasst Do 20.10.2005 11:44
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo rob,

nochmal zum Onclick, das ist nicht das problem es funktioniert, ob ich nun expliziet drauf hinweise das beim OnClick Javascript folgt oder nicht!

Code:
   
window.opener.document.getElementById('cmdCarrier_selektion').style.color ='#000000';      
window.opener.document.getElementById('cmdCarrier_selektion').value ='Carrier selektieren';


demonstriert wie man mittels JSSS sehrwohl solche objekte ansprechen kann (möchte dich jetzt nich verwirren), hierbei ist es egal ob ich das objekt via Name oder ID anspreche.

-------------
noch einmal zum problem

mir geht es darum zu wissen, wie ich das IFRAME ansteuer über "parent....." etc...
  View user's profile Private Nachricht senden
rob

Dabei seit: 11.12.2003
Ort: ~/
Alter: 46
Geschlecht: Männlich
Verfasst Do 20.10.2005 12:55
Titel

Antworten mit Zitat Zum Seitenanfang

Zitat:
nochmal zum Onclick, das ist nicht das problem es funktioniert

ja. ich weiß, das das nicht dein problem ist... ich würd's aber trotzdem korrigieren, weil es eben einfach falsch ist und deswegen nicht überall funktioniert.
aber war ja auch nur ein hinweis. keiner zwingt dich zum korrigieren *zwinker*

Zitat:
demonstriert wie man mittels JSSS sehrwohl solche objekte ansprechen kann

Was hat denn das mit JavaScriptStyleSheets zu tun..? Gar nichts..? JSSS ist eh schon seit jahren tot und vergessen... netscape 4.7 steht nicht mehr auf...

Aber hier sieht dein Code ja auch OK aus... Hier wird ja auch die richtige Methode aufgerufen.

Zitat:
hierbei ist es egal ob ich das objekt via Name oder ID anspreche.

ja, man kann ein objekt über den namen oder über die id ansprechen. wenn man das objekt aber über den namen anspricht, dann muß man es auch richtig machen...
getElementsByTagName() ist einfach falsch, so wie du es angewendet hast - zum dritten mal...
getElementsByName() wäre die richtige methode, wenn du ein element über das name-attribut ansprechen willst.

hier findest du u.a. auch eine objektreferenz: http://de.selfhtml.org/javascript/

Zitat:
mir geht es darum zu wissen, wie ich das IFRAME ansteuer über "parent....." etc...

wie andere frames auch. entweder über den namen oder über den index.
  View user's profile Private Nachricht senden
 
Ähnliche Themen Problem mit iFrame
Problem iFrame und IE6
Iframe Problem nur bei IE7!
iframe als layout - problem.
Simples iframe Problem
GoLive: Problem mit iFrame
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.