Addressieren von Formular-Element aus Iframe heraus.
TheVoid
- javascript
0 rfb0 TheVoid0 Dieter Raber0 TheVoid0 Dieter Raber0 TheVoid
0 rfb
Hallo,
ich bin ein Anfänger im JavaScript Bereich und habe ein Problem. Ich habe ein Fenster, das ein Formular enthält. Innerhalb des <form...> Bereichs ist ein Iframe definiert. Dieses Iframe enthält eine Art Kalender. Die verschiedenen Tage eines Monats werden hier als Klick Buttons ausgegeben.
<input type="button" class="tag" value="" . $tag ."" name="" . $tag ."" onclick="top.document.form.getElementByName("zeit").value=" . $wochentag .", " . $tag .". " . $monat ." " . $jahr ."'" />.
Wenn ich auf den Button klicke, soll der value eines inputs im Formular des ersten Elements geändert werden. Hier der Code des inputs:
<input class="zeit" name="zeit" type="text" readonly="readonly" value="Termin auswählen" />.
Mit der momentanen Addressierung in onclick, funktioniert es nicht. Wie kann ich das Formularelement korrekt addressieren?
Vielen Dank für eure Hilfe,
Void
Moin
es gibt kein
getElementByName
Gruß
rfb
Moin
es gibt kein
getElementByName
Gruß
rfb
Ok, danke. Wie muss es dann korrekt lauten?
onclick="top.document.forms.zeit.value=" . $wochentag .", " . $tag .". " . $monat ." " . $jahr ."'" <-- funktioniert nicht.
Grüße,
Void
Hallo TheVoid,
Dein Problem hat doch mit Javascript zu tun, dann poste auch bitte den HTML-, bzw. Javascript-Code, kein PHP.
Gruß,
Dieter
Hallo TheVoid,
Dein Problem hat doch mit Javascript zu tun, dann poste auch bitte den HTML-, bzw. Javascript-Code, kein PHP.
Gruß,
Dieter
Hallo Dieter,
Ok, ich werds mal versuchen, ist nur ein wenig verschachtelt...
also hier der Code, der "Eltern"-Datei:
<form action="index.php?show=4" name="terminvergabe" method="post">
<!-- unwichtiger Anfang -->
Welche Art der Untersuchung?<br />
<select size="5" name="untersuchung[]" multiple><option value="0">Besprechung</option><option value="7">Blutentahme</option><option value="3">Ultraschall der Bauchorgane</option><option value="4">Ultraschall des Herzens</option><option value="5">Ultraschall der Halsgefäße</option><option value="6">Ultraschall der Schilddrüse</option><option value="8">EKG</option><option value="9">Belastungs-EKG</option><option value="10">Langzeit-EKG</option><option value="1">Magenspiegelung</option><option value="2">Darmspiegelung</option><option value="11">Langzeitblutdruckmessung</option><option value="12">Gesundheitsuntersuchung</option><option value="13">Krebsvorsoge</option></select><br />
Mehrere Einträge können durch Halten von "STRG" (Windows) / "Befehlstaste" (Macintosh) und Klicken ausgewählt werden. <br /><br />
<!-- hier das Iframe -->
<iframe src="inc/termin/terminauswahl.php" width="320px" height="260px" name="Terminauswahl" scrolling="no" frameborder="0">Ihr Browser kann leider keine Frames anzeigen. Bitte installieren Sie die Neuste Version ihres Browsers</iframe><br /><br />
<!-- hier das input, in das der Inhalt aus dem Iframe geschrieben werden soll -->
<input class="zeit" name="zeit" type="text" readonly="readonly" value="Termin auswählen" /><br /><br />
<!-- jetzt der restliche murks -->
Uhrzeit: <select name="uhrzeit" class="breite_select"><option value="0">egal</option><option value="1">8.00 - 10.00 Uhr</option><option value="2">11.00 - 13.00 Uhr</option><option value="3">15.00 - 18.00 Uhr</option></select><br /><br />
oder <input name="tegal" type="checkbox" value="1" />Termin egal<br />
<input type="submit" value="Anfrage abschicken!" />
</form>
So jetzt hier der Code aus dem Iframe:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Termin auswahl Tabelle</title>
<link rel="stylesheet" type="text/css" href="../../styles.css"
</head>
<body style="background-color:#D3E1F4">
<form name="kalender">
<input type="button" class="tag" value="2" name="2" onclick="top.document.forms.zeit.value='Dienstag, 2. Juli 2007'" />
</form>
</body>
</html>
Der value des Buttons wird über PHP errechnet und eingefügt.
Hallo TheVoid,
<input type="button" class="tag" value="2" name="2" onclick="top.document.forms.zeit.value='Dienstag, 2. Juli 2007'" />
forms ist eine Collection aus allen Formularen eines Dokuments, forms[0] waere eine Moeglichkeit, dein Problem zu loesen. Wie man Elemente in Formularem anspricht, findest du hier:
http://de.selfhtml.org/javascript/objekte/forms.htm
Du solltest dir auch angewoehnen, deinen Code, egal ob PHP, CSS, Javascript oder HTML vernuenftig zu formatieren, damit er lesbar wird:
<select name="uhrzeit" class="breite_select">
<option value="0">egal</option>
<option value="1">8.00 - 10.00 Uhr</option>
<option value="2">11.00 - 13.00 Uhr</option>
<option value="3">15.00 - 18.00 Uhr</option>
</select>
Gruß,
Dieter
Vielen Dank für die schnelle Hilfe!!
Grüße,
Void
Moin
Ihr Browser kann leider keine Frames anzeigen. Bitte installieren Sie die Neuste Version ihres Browsers</iframe><br /><br />
ist einer der blödesten Sprüche die im Netz zu finden sind. An diese Stelle gehört sinnvollererweise ein Link zu der gerade nicht erreichbaren Seite. In deinem speziellen Fall, wo die eigeframte Seite eher verzichtbar erscheint, besser gar nix als dieser Spruch.
Mein Opera, neueste Version, zeigt übrigens IFrames einfach voreinstellungsgemäß nicht an, da hilft auch updaten nix.
Gruß
rfb