Variable an URL in iFrame übergeben

PetraB

Mitglied
Hallo,

ich habe ein kleines JavaScript-Problem, was vor allem daran liegt, dass ich bisher weder mit JavaScript noch mit iFrames gearbeitet habe. Nun muss ich für eine Ergebnisseite einer Abfrage mit dem UMN MapServer eben diese Funktionalitäten anwenden. Ich möchte mit der URL im iFrame eine Variable übergeben, die ich mit JavaScript ermittelt habe.

Bisher habe ich es so oder ähnlich versucht:
HTML:
<script language="JavaScript" type="text/javascript">
<!--
function position()  
{	
  var pos = makeClickPos2RealWorldPos('mapframe1',[X],[Y]);
  //document.write(pos);
  return pos;
}
//-->
</script>
</head>

<body>
<iframe src="../../../apueb/ap.php?x=[X]&y=[Y]&pos="+javascript:position() width="100%" height="100%" scrolling="no">

Kann mir bitte jemand weiterhelfen?

Grüße,

PetraB
 
Hi,

übergib am besten die Parameter über das location-Objekt.
Code:
function position(){
  var strURL = "../../../apueb/ap.php?x=[X]&y=[Y]&pos=" + makeClickPos2RealWorldPos('mapframe1',[X],[Y]);

  parent.frames["frmInner"].location.href = strURL;
}
Es wird vorausgesetzt, dass ein iFrame mit dem Namen frmInner im Dokument vorhanden ist.
HTML:
<iframe name="frmInner" width="100%" height="100%" scrolling="no" src="../../../apueb/ap.php"></iframe>
Ich hoffe, das hilft dir weiter.

Ciao
Quaese
 
Danke für deine Antwort, das hilft mir auf jeden Fall. Nur eine Frage hätte ich noch dazu: Wo rufe ich dann die Funktion position() auf? So wird doch jetzt einfach nur das iFrame ohne die Parameter aufgerufen oder nicht?

Ciao,

PetraB
 
Hi,

die Funktion position rufst du immer dann auf, wenn du sie brauchst - zum Beispiel im
onload-Event des BODYs oder wenn der User einen Button drückt.
Ich dachte, dass die Funktion häufiger aufgerufen werden soll und den iFrame immer in
Abhängigkeit der Parameter aktualisiert, die von makeClickPos2RealWorldPos zurückgeliefert
werden.

Sollten die Parameter allerdings schon beim Aufruf der Seite zur Verfügung stehen, könntest
du den iFrame auch mit document.write einbinden. So könntest du dir die Funktion komplett
schenken.
Code:
<script type="text/javascript">
  <!--
  document.write("<iframe name=\"frmInner1\" width=\"100%\" height=\"100%\" scrolling=\"no\" src=\"../../../apueb/ap.php?x=[X]&y=[Y]&pos="+makeClickPos2RealWorldPos('mapframe1',[X],[Y])+"\"></iframe>");
  -->
</script>
Ciao
Quaese
 
Zurück