anker mitgeben und dann aufrufen

quidnovi

Erfahrenes Mitglied
Hi @ all,

bin ein absoluter Anfänger in Sachen JS. Habe jetzt schon Stunden im Netz gesurft, aber die gefundenen Lösungen nicht umsetzen können.

Zum Thema:

Öffne über folgendem Code ein Popup:
PHP:
<script language="JavaScript">
<!--

var pop = null;

function popdown() {
  if (pop && !pop.closed) pop.close();
}

function popup(obj,w,h) {
  var url = (obj.getAttribute) ? obj.getAttribute('href') : obj.href;
  if (!url) return true;
  w = (w) ? w += 200 : 200;  // 150px*150px is the default size
  h = (h) ? h += 260 : 260;
  var args = 'width='+w+',height='+h+',resizable';
  popdown();
  pop = window.open(url,'',args);
  return (pop) ? false : true;
}

window.onunload = popdown;
window.onfocus = popdown;


//-->
</script>

<?php
$feld .= "<a href='./la/la_1.php?&datum=$rowMi[datTag]&update=$rowMi[id]' onclick='return popup(this,300,300)'>".
                    "<img src='./images/b_browse.png' border='0'></a>".

In diesem Popup schaut es so aus:
PHP:
<script type="Text/JavaScript">
<!--
function executeLink(url) {
  opener.location.href=url;
  self.close();
}
//-->
</script>

<?php

	if ($_GET['update'] && $_GET['datum']){
?>

<a href="javascript:void(executeLink('../eingabePc.php?was=urlaub&datum=<?= $_GET['datum']; ?>&id=<?= $_GET['update']; ?>'));">
		 		    Urlaub</a>

Hier kann man nun diesen Link anklicken und die Werte in ein vorbestimmtes Feld übertragen. Das funktioniert.

Nun mein Problem:
Wie schaff' ich das, dass ich an die Stelle der aufrufenden Seite (von welchem ich das Popup öffnete) wieder lande? Diese Seite ist ziemlich groß, sodass ich immer wieder zu dieser Stelle hinscrollen muss.

Habe schon unzählige Anker Varianten probiert, hat aber alles nicht funktioniert.

Bitte Euch um Eure Hilfe. Vielen Dank schon mal im Voraus.
 
Hi,

häng den Anker doch einfach an die URL an:
Code:
function executeLink(url) {
  opener.location.href=url + "#ankername";
  self.close();
}
Ciao
Quaese
 
Hiho,

thx, funktioniert - teilweise.

Hab's nun so (popup):
PHP:
<?php

	if ($_GET['update'] && $_GET['datum']){
?>

<script type="Text/JavaScript">
<!--
function executeLink(url) {
  opener.location.href=url + "#<?= $_GET['datum']; ?>";
  self.close();
}
//-->
</script>

<a href="javascript:void(executeLink('../eingabePc.php?was=za&datum=<?= $_GET['datum']; ?>&id=<?= $_GET['update']; ?>'));">
		 		    Zeitausgleich</a>

Aufrufen:
Code:
<a name=".$_GET['datum']."></a>

Aufgerufen wird das Datum, welches ich aus der Datenbank hole. Nun, das funktioniert aber nur solange, bis ich das aufrufenden <a name..., auf alle Wochentage anwende.

Sprich:
Code:
// Montag
<a name=".$_GET['datum']."></a>
....

// Dienstag
<a name=".$_GET['datum']."></a>
...

// Mittwoch
<a name=".$_GET['datum']."></a>

(und so weiter bis inklusive Sonntag)

Und nun bleibt die Seite beim ersten Eintrag - bei welchem das <a name...steht - stehen, obwohl in der URL das Datum des betreffenden Tages mitgegeben wird.

Ich tu mir hier so schwer, da ich nicht weiß, was mir das Popup übergibt, denn eine $GET ist das nicht.
(Ich lasse mir die $_GET mit dem print_r (); Befehl ausgeben)Was erhalte ich hier?

Könnt Ihr mir bitte weiterhelfen? Danke
 
Ha! Gelöst

Ich frage ja die ID von der Datenbank ab.

Dem Popup werden der Tag und die Id übergeben:
PHP:
$feld .= "<a href='./la/la_1.php?datum=$rowMi[datTag]&update=$rowMi[id]' onclick='return popup(this,300,300)'>".
                    "<img src='./images/b_browse.png' border='0'></a>".

im Popup siehts nun so aus:
PHP:
<?php

	if ($_GET['update'] && $_GET['datum']){
?>

<script type="Text/JavaScript">
<!--
function executeLink(url) {
  opener.location.href=url + "#<?= $_GET['update']; ?>";
  self.close();
}
//-->
</script>

<a href="javascript:void(executeLink('../eingabePc.php?was=urlaub&datum=<?= $_GET['datum']; ?>&id=<?= $_GET['update']; ?>'));">
		 		    Urlaub</a>



Die Id ($_GET['update']) füge ich nun als Anker ein:
Code:
// Mittwoch
<a name=".$rowMi['id']."></a>".

// Donnerstag
<a name=".$rowDo['id']."></a>".

usw.

Tja, kaum macht man es richtig, funktioniert's auch schon. :) :)

Salü und danke nochmal für das Anhängen des Ankers an die URL.
 
Zuletzt bearbeitet:
Zurück