PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Formdaten aus anderem Frame holen?


WhiteVelvet
2007-11-14, 15:05:17
Ich habe im Prinzip ein frameübergreifendes Formblatt, links sind Datenfelder, rechts auch plus ein Submit-Button. Ursprünglich war das alles mal in einem Table ohne Frametechnik, aber der für den ich das mache will lieber Frames haben.

Ich hatte mir gedacht, dass man doch eigentlich rechts über Javascript die Daten von links rausholen lassen müsste oder? Also wenn ich Submit anklicke holt er die Daten vom linken Frame in hidden-Felder des rechten Frames. Geht das? Wenn ja, hat jemand etwas Code, ich bin nicht so fit in JavaScript. Vielen Dank! :redface:

Kinman
2007-11-14, 16:27:35
document.getElementByName('NAME_DES_HIDDEN_INPUT_FELDS').value = FENSTERNAME.getElementByName('NAME_DES_INPUT_FELDS').value;


Statt FENSTERNAME schreibst den Namen des entsprechenden Fensters rein :eek:

Ich hoffe das stimmt.

mfg Kinman

WhiteVelvet
2007-11-15, 10:34:21
Konkret hab ich nun benutzt:


<script language="JavaScript">
<!-- Begin
function getLeftData() {
document.getElementById("rightdata").value = table1.document.getElementById("leftdata").value;
}
// End -->
</script>


Das Script wird beim onclick-Event des Submitbuttons ausgelöst. Er holt sich die Daten aus dem linken Frame table1 und verschiebt sie in ein hidden-Feld vom rechten Frame namens table2. Allerdings sagt er mir bei obigem Code table1 is not defined hmmm ...

Kinman
2007-11-15, 11:51:38
Heist wirklich das Dokument so, oder nur das Frame-Fenster?
Wenn nur das Frame so heißt, dann probier mal mit


document.getElementById("rightdata").value = parent.table1.document.getElementById("leftdata").value


Man kann die Dokumente auch benennen, habe auf die schnelle aber nicht gefunden wie das geht.

EDIT:
mit window.name = "xxxxxx"; gehts
http://de.selfhtml.org/javascript/objekte/window.htm#name

mfg Kinman

WhiteVelvet
2007-11-15, 12:11:57
Habs grad herausgefunden, wie es heißen muss:


document.forms["FormRight"].elements["rightname"].value = parent.frames[1].document.forms["FormLeft"].elements["leftname"].value;


Damit klappts :) Trotzdem danke für die richtige Richtung :)