Frame in Popup darstellen und vom gerufenem Fenster aus steuern?

Luk3

Grünschnabel
Hi @ all,

ich habe mal eine generelle Frage, ob folgendes überhaupt möglich ist.

Ein Frame (nennen wir es mal A), das Input Felder beinhaltet, soll von einer Person mit Daten gefüttert werden. A enthält zwei Anzeigemodi, eine für die Darstellung und eine für die Eingabe.

Ein oder mehrere Popups [von A aus werden die Ps (Popups) erzeugt], die das Frame beinhalten sollen, sollen die in A eingegebenen Daten darstellen. Nach Möglichkeit sollen sich die Ps bei einer neuen Eingabe in A aktuallisieren.

Ist so etwas mit Javascript zu realisieren?
Wenn ja, wie groß wäre der Aufwand?
Gibt es gewisse Schlagworte, die mir bei dieser "Problematik" helfen könnten?
 
Hi,

die Methode open zum Öffnen eines Fensters liefert ein Handle zurück, über das ein Zugriff möglich ist.
Code:
hWin = window.open('datei.html');
Unter der Voraussetzung, dass im PopUp ein Textfeld mit der ID txt_id existiert, kann es folgendermassen angesprochen werden:
Code:
hWin.document.getElementById("txt_id").value = "Da bin ich";
Willst du umgekehrt vom PopUp aufs Elternfenster zugreifen, kann das über das Objekt opener realisiert werden.
(Voraussetzung: im Elternfenster existiert ein Textfeld mit der ID txt_id)
Code:
opener.document.getElementById("txt_id").value = "Wieder zurück";
Ciao
Quaese
 
Hi,

danke für deine Antwort. Leider kann ich das ganze nicht so ganz nachvollziehen.
Wäre es eventuell möglich (sofern es nicht zu aufwendig ist) etwas kleine zu schreiben, dass einfach in einem Input einen Text eingetragen wird und dann in dem Popup auch angezeigt wird?

Das Problem ist einfach, dass ich etwas bestehendes erweitern möchte. Es geht dabei um folgendes:
http://sourceforge.net/projects/kickerplan/
Und zwar gibt es dort eine Checkbox die die Ansicht zwischen den Inputfields und einer visuellen Darstellung switched. Daher war meine Überlegung gewesen, dieses Frame als eine Kopie (Popup) versuchen darzustellen. In dem Ursprünglichen Fenster (Mutterfenster) würde die Inputfield-Ansicht zum eintragen der Ergebnisse und in dem Popup( oder den Popups) quasi das gleiche darzustellen, nur dass dort die Checkbox aktiv ist und nur die nicht Inputfield-Ansicht zu sehen ist.
 
Hi,

das Ausgangsdokument könnte wie folgt aussehen:
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-15">
<script type="text/javascript">
<!--
function openPopUp(){
  hWin = window.open('index_.html');
}
function insertVal(){
  hWin.document.getElementById("txt_id").value = "Da bin ich";
}
//-->
</script>
</head>
<body>
<input type="text" id="txt_id">
<button onclick="openPopUp();">openPopUp</button>
<button onclick="insertVal();">insertVal</button>
</body>
</html>
PopUp-Dokument:
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-15">
</head>
<body>
<button onclick="opener.document.getElementById('txt_id').value = 'und zurueck';">opener</button>
<input type="text" id="txt_id">
</body>
</html>
Ich hoffe, du kannst damit etwas anfangen.

Ciao
Quaese
 
danke für deine tolle Hilfe :)
Ich glaube allerdings, dass mich dies nicht weiterbringen wird, da ich jedem Input eine ID zuweisen müsste und die Anzahl der IDs abhängig von der Eingegebenen Werten ist.

Aus diesem Grund war meine Überlegung folgende (ob es allerdings möglich ist?!)
Zu Beginn wird z.b. ein Popup erstellt. Dieses Popup soll die gesamten Tabellen übergeben bekommen (gibt es da irgendeine Funktion, die mir eine 1zu1 Kopie einer Tabelle erstellt?)
Beim Eintragen eines Ergebnisses mittels onClick soll das Popup aktualisiert werden -> also wieder eine Kopie der gesamten Tabelle erstellt werden und das Popup "quasi" aktualisiert werden.
 
Hi,

eine spezielle Funktion gibt es für dein Vorhaben nicht, umsetzbar ist es jedoch.

Es muss jedoch auf die unterschiedlichen Browser eingegangen werden. Der IE behandelt Inputfelder in Verbindung mit innerHTML anders, hat dafür Probleme, Tabellen über das DOM zu verwalten.

Folgende Variante könnte dir eventuell weiterhelfen.

Ausgangsdokument:
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
<!--
function openPopUp(){
  hWin = window.open('abcd.html');
}
function insertTable(){
  if(document.all && !window.opera){
    hWin.document.getElementById("wrapper_id").innerHTML = document.getElementById("wrapper_id").innerHTML;
  }else{
    hWin.document.getElementById("wrapper_id").innerHTML = "";
    hWin.document.getElementById("wrapper_id").appendChild(document.getElementById("wrapper_id").cloneNode(true));
  }
}
//-->
</script>
</head>
<body>
<button onclick="openPopUp();">openPopUp</button>
<button onclick="insertTable();">insertTable</button>
<div id="wrapper_id">
  <table>
    <tr>
      <td><input type="text" value="1.1"></td>
      <td><input type="text" value="1.2"></td>
    </tr>
    <tr>
      <td><input type="text" value="2.1"></td>
      <td><input type="text" value="2.2"></td>
    </tr>
  </table>
</div>
</body>
</html>
PopUp:
Code:
<html>
<head>
<title>www.tutorials.de</title>
<meta name="author" content="Quaese">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-15">
</head>
<body>
<div id="wrapper_id"></div>
</body>
</html>
Ciao
Quaese
 
Zurück