Ausgabe auslesen und in Formular übertragen

sid61

Mitglied
Hallo,

ich stehe derzeit an einem Problem fest, das ich nicht gelöst bekomme. Bzw. habe ich nicht genug Kenntnisse zu Javascript um eine entsprechende Lösung zu erstellen.

Zum Problem:

Ich habe ein PHP Script, das ich soweit modifiziert habe, das mir die derzeitigen Werte von 2 Feldern übergeben werden.

Code:
<table cellpadding="2" cellspacing="0" border="0" width="100%" class="adminform">
		<tr>
			<td valign="top" align="right">Längengrad </td>
			<td align="left"><input class="text_area" type="text" name="lat" id="lat" size="25" maxlength="19" value="<?php echo $row->lat; ?>" />       </tr><tr>
			</td>
                    <td valign="top" align="right">Breitengrad </td>
			<td align="left"><input class="text_area" type="text" name="lon" id="lat" size="25" maxlength="19" value="<?php echo $row->lon; ?>" />       </tr>
			</td>
                    <tr>
                    <td align="center">
			<iframe src="http://<? echo $_SERVER['HTTP_HOST'] ?>/components/com_hotproperty/geomod.php" id="geocoder" width="100%" height="600" marginwidth="0" marginheight="0" align="top" scrolling="auto" frameborder="0" hspace="0" vspace="0" background="white"> </iframe>			
			</td>


		</tr>
	</table>	
	<?php
	$tabs->endTab();

	?>
Die in der Datenbank gespeicherten Werte werden in <?php echo $row->lat; ?> & <?php echo $row->lon; ?> übergeben und beim zurückspeichern mit dem aktuellen Wert überschrieben, der dann dort eingefügt wurde.
Hier soll dann die Auswahl des mit iframe erzeugten Wert laenge/breite überschrieben werden.

Im Code zu sehen ist, das ich via iframe dann eine Seite nachlade, die es mir ermöglicht, per geocoding die Daten von Orten auszulesen. Da es bei einigen Orten (Beispiel:Buchholz) etliche Orte in Deutschland gibt, möchte ich mir natürlich nur den Ort auswählen, der auch übernommen werden soll.

Dazu liefert mir das Geocoder Modul auch alle Daten. Ich habe nun die Daten, welche ankommen - in Input Feldern untergebracht, bzw. eingefügt, so das die Werte erhalten bleiben, wenn auch mehrere Städte gefunden werden.

Mein Problem ist nun, wie stelle ich es an, das


1.) das die für mich interessanten Geo Coordinaten (sind immer 2 laenge/breite) per Klick aus der angebotenen Liste übernommen werden ? Ich denke mir, das ich das mittels Form machen müßte ? aber wie bringe ich dann...


2.) die von mir ausgewählten Daten in die Input Felder lat und lon, die ja die ursprünglichen Daten der Datenbank enthalten. Wie übergebe, bzw. überschreibe ich die Daten lat/lon mit meinen Werten laenge/breite, die ich übernehmen möchte.

Das ist eigentlich der dicke letzte Knackpunkt, an dem ich stehe und nicht weiter komme...

Hier noch mal der Part in der mit der iframe geladenen Seite erzeugte Code..

Code:
document.getElementById("message").innerHTML += "<br>"+(i+1)+": "+ result.Placemark[i].address + "<br><input class=text_area type=text name=laenge id=laenge size=25 maxlength=19 value=" + p[1] + ">" + "<input class=text_area type=text name=breite id=breite size=25 maxlength=19 value=" + p[0] + ">";
                map.addOverlay(marker);

Ich habe hier das Ergebnis des Geocoders in Input Felder eingetragen, komme aber nun nicht weiter, weil ich nicht weiß - wie ich mittels Button dann den gewünschten Wert übernehme und Ihn dann in die Inputfelder schreibe. Vielleicht habe ich ja einen Denkfehler, aber da ich das zweite Formular ja per iframe lade, müßte das ganze wohl mittels Java Script gelöst werden, was die Felder laenge/breite übernimmt und im Hauptformular gegen die bestehenden Werte lat/lon austauscht, bzw. diese ersetzt.

Vielleicht könnte mir einer von euch einen Lösungsansatz liefern ? - oder mir einen Tip geben, wo so eine Funktion beschrieben wird..

Danke für euer Interesse an diesem Thread..

Gruss
Sid61
 
Zuletzt bearbeitet:
Hi,

wenn das Javascript in Deinem iframe liegt, solltest Du die Werte wie folgt übertragen können:

PHP:
top.getElementById("lat").value = document.getElementById("laenge").value;

LG
 
Hallo Kuddeldaddeldu,

zuerst einmal Danke für deine Mühe,
auch der Gefahr einer Verärgerung...

Kannst du mir das ein wenig mehr im Zusammenhang erklären ?

lat & lon sind die beiden Dateninhalte, die im php Formular stehen.
laenge & breite sind die Werte, die auch mehrfach vom nachgeladenen Iframe (mit Javascript) gesetzt werden.

Wie genau sieht dann die Konstruktion aus

Ich müsste demnach ein Formular für jede Ausgabe setzen und als form action dann den von dir vorgeschlagenen Wert verwenden

Wenn dem so ist, wie fügt er es dann in das eigentliche Formular ein.
Es tut mir leid, aber da bin ich echt irgendwie verkalkt ;-)

Ich verstehe den Zusammenhang nicht -

1.) nimm einen der Werte von der Iframe Datei (es können ja mehrere sein, ich will aber nur einen) Beispiel: wenn ich nach Herzfelde suche, dann gibt es das drei mal - aber ich will ja nur einen Wert der Ausgabe übernehmen.

2.) Das Hauptformular, der die Daten lat/lon enthält (nicht iframe, sondern php das den iframe aufruft) hat jetzt die Daten von der Datenbank - meinetwegen 8.345000111 für lat und 12.3334545 für lon.

3.) Das Herzfelde, das ich mir auswähle hat meinetwegen laenge 2.0000000 und breite 5.0000000.

Wo und wie bringe ich jetzt deine Zeile unter, das ich mir das eine der drei Herzfeldes auswähle und dann anstelle der Werte in lat&lon einfüge.

Mein Problem ist, das ich dich nicht richtig verstehe, wie der Weg ist - das ich diese Daten übernehmen kann.

Deshalb nochmal die Frage ?

1.) Ist der Ansatz richtig, das ich die Daten in input Feldern ablege ?
2.) Wo bringe ich deine Zeile ein ?
3.) Woher wissen die Inputfelder im Hauptformular, welche der Koordinaten sie übernehmen sollen und muss ich was an den Formularfeldern ändern - denn es stehen ja eigentlich schon Werte drin (Werden die dann ersetzt?)

Tut mir leid - das Generve, aber mit Javascript hatte ich leider noch nie wirklich viel zu tun, also bezeichne ich mich mal als "DOOFER".

Danke für deine Geduld
sid61

Hi,

wenn das Javascript in Deinem iframe liegt, solltest Du die Werte wie folgt übertragen können:

PHP:
top.getElementById("lat").value = document.getElementById("laenge").value;

LG
 
Hi,

mein Problem ist, dass ich nicht wirklich blicke, was Du genau erreichen willst und wie Deine Daten eigentlich vorliegen. ;) Deshalb kann ich auch immer nur allgemeines Zeug von mir geben.

Warum willst Du ausgewählte Koordinaten in Input-Felder stecken? Muss man dann nochmal klicken, um den gewählten Ort angezeigt zu bekommen? Du könntest die gewählten Koordinaten doch gleich in diese Anzeigefunktion stopfen oder nicht?

Was genau liefert denn geomod.php? Was steht da dann drin in diesem iframe?

Hast Du das auf einem Testserver, dass man sich das mal angucken kann?

LG
 
Zurück