online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon Uesch vom 04.06.2019, 21:07 Options

Per Klick Daten in neuem Fenster anzeigen

Hallo allerseits,

ich hab mal wieder eine kleine Frage:

Ich habe eine Liste von verschiedenen Usern, die in einer MySQL-Datenbank gespeichert sind. Nun möchte ich, dass man auf den Namen der jeweiligen Person klickt und sich daraufhin ein Fenster öffnet, in dem ein Textfeld steht, in dem der Name der Person steht, auf den man geklickt hat. Ich klicke also auf Test und es öffnet sich ein kleines Fenster, in dem ein Textfeld mit Test steht.

Gruß,

Üsch


Antwort schreiben

Antwort 1 von rfb vom 04.06.2019, 23:13 Options

diese "kleinen Fenster" nennt man allgemein PopUp.
Syntax zum Aufruf wird hier beschrieben: SelfHTML -> JavaScript -> window.open()

Darin wird ein HTML-Dokument geladen, welches beliebigen Inhalt haben kann.

Wo ist nun deine Frage dazu?

Antwort 2 von Uesch vom 05.06.2019, 13:30 Options

Ja, aber ich will doch, dass beim Klick auf einen Namen (der nicht innerhalb eines Formulars ist), der Name im neuen Fenster erscheint. Also du klicktst auf einen Namen, ein Fenster öffnet sich und da steht: Neue Email an: "Name".

Versteht ihr?

Antwort 3 von rfb vom 05.06.2019, 13:38 Options

Zitat:
Versteht ihr?
nach wie vor verstehe ich nicht wo dein Problem liegt! Kannst du kein PopUp machen? Bekommst du kein HTML-Dokument mit besagtem Inhalt (nur ein Name!) hin?
Zitat:
aber ich will doch
mal eine detaillierte Problembeschreibung incl. bisheriger Lösungsversuche und etwaiger Fehlermeldungen dabei liefern.

Antwort 4 von Uesch vom 05.06.2019, 14:06 Options

Ok, also:

Ich lasse mir mithilfe von PHP und MYSQL alle USer anzeigen, die in der Datenbank vorhanden sind. Dabei soll bei einem Klick auf irgendeinen Namen sich ein neues Fenster öffnen, in dem steht: Sie möchten eine Email schreiben an "Name dessen, auf den man vorher geklickt hat". Dann gibt es da ein kleines Formular und einen Button zum Abschicken. So nun ist die Frage wie man 1.: ihm sagt, dass beim Klick auf einen Namen, er diesen als Variable speichert und 2.: wie man im Popup genau den Namen dann anzeigt, auf den man zuvor geklickt hat! Ich hab es probiert mit einem Popup, aber das eigentliche Problem liegt dabei, dass ich nicht weiß wie man den namen als Variable speichert, denn ich möchte es nicht mit einem Formular machen!

Antwort 5 von dettlef vom 05.06.2019, 14:31 Options

den namen übergibst du über eine an die popup-url angehängte variable: http://www.üsch.de/popup.php?name=detlef

Antwort 6 von Uesch vom 05.06.2019, 15:15 Options

Dachte ich mir auch, aber dann sendet er das Formular ja direkt ab!

Antwort 7 von dettlef vom 05.06.2019, 15:32 Options

welches formular? es ist richtig, dass man solche variablen normalerweise über formulare erzeugt/verschickt. daher vielleicht dein missverständnis. hier geht es aber nicht um ein formular. bei window.open gibst du die adresse des dokuments an, welches im aufpopenden fester angezeigt werden soll. und an diese adresse hängst du die variable dran (das ergebnis ist das gleiche, als hätte man ein formular der methode "get" mit einem inputfeld namens "name" und dem inhalt "detlef" abgeschickt. das heisst diese variable kann unter php ausgewertet werden, als käme sie von einem formular). php erzeugt dann den inhalt des popups mit dem namen des members. dieses dokument ist dann das "emailformular" und dieses wird dann erstmal nur angezeigt und nicht automatisch abgeschickt.

Antwort 8 von rfb vom 05.06.2019, 16:33 Options

Vermutung: du möchtest nicht für jeden Namen ein eigenes Dokument ins PopUp laden?

nehmen wir mal an du hättest im Hauptdokument folgendes:

<span onclick="popup(this)">Otto</span> 


dann könnte die Funktion popup() so aussehen:

function popup(ausloeser) {
var wen = ausloeser.firstChild.data;
MeinFenster = window.open("formular.htm?"+wen, "Zweitfenster", "width=300,height=400,left=100,top=200");
MeinFenster.focus();
}


dies sollte dann die Datei formular.htm?Otto ins popup laden

in formular.htm erhältst du den Otto dann mittels

var wer = location.search.substr(1);


alles weitere bleibt dir überlassen.


Zitat:
wie man 1.: ihm sagt
du solltest von Browsern als Browser reden -> auch wenn sie Ärger machen sind es nur Programme!

Antwort 9 von Uesch vom 05.06.2019, 19:34 Options

Vielen Dank,

ich habe jetzt eine Datei test.html, in der steht:

<script>
function popup(ausloeser) {
var wen = ausloeser.firstChild.data;
MeinFenster = window.open("formular.htm?"+wen, "Zweitfenster", "width=300,height=400,left=100,top=200");
MeinFenster.focus();
}
</script>

<span onclick="popup(this)"><a href="#">Otto</a></span>


Dann hab ich eine Datei formular.htm, in der steht das:

<script>var wer = location.search.substr(1);</script>


Leider zeigt er im Popup aber nix an! Einfach nur Totenleere. Was mach ich falsch?

Antwort 10 von dettlef vom 05.06.2019, 19:52 Options

alles was du hast ist eine scriptvariable mit dem inhalt des angeklickten namens. jetzt brauchst du ein bisschen html und ein formular und dann musst du den value von deinem textfeld^^ auf "wer" setzen:
http://de.selfhtml.org/javascript/objekte/elements.htm#value

Antwort 11 von Uesch vom 05.06.2019, 20:23 Options

und was war dann der Sinn des "Otto"?

Antwort 12 von dettlef vom 05.06.2019, 20:32 Options

Zitat:
und was war dann der Sinn des "Otto"?

du meinst von "?Otto". das war damit in location.search.substr(1) der name des users drinsteht. dieser kommt dann in die variable "wer" und schliesslich landet er im textfeld (durch document.formname.feldname.value=wer).

Antwort 13 von Uesch vom 05.06.2019, 22:08 Options

und wie kriegt man Otto in die Variable?

Antwort 14 von dettlef vom 05.06.2019, 22:12 Options

in die variable "wer"? so:
var wer = location.search.substr(1);

Antwort 15 von Uesch vom 05.06.2019, 22:20 Options

Das heißt, ich habe die formular.htm, in der
var wer = location.search.substr(1);
steht und eine zweite Datei test.html, in der
<script>
function popup(ausloeser) {
var wen = ausloeser.firstChild.data;
MeinFenster = window.open("formular.htm?"+wen, "Zweitfenster", "width=300,height=400,left=100,top=200");
MeinFenster.focus();
}
</script>

<span onclick="popup(this)"><a href="#">Otto</a></span>
steht. Wo genau kommt denn das Formular hin, von dem du vorhin gesprochen hast? In die formular.htm?

Antwort 16 von dettlef vom 05.06.2019, 22:35 Options

also der otto-link und die popup-funktion stehen in dem dokument, welches die mitglieder auflistet. das auslesen von location.search.substr(1) und das formular zum kontakten des mitglieds kommt in das popupdokument (formular.htm).

Antwort 17 von rfb vom 06.06.2019, 09:27 Options

Zitat:
<script>
ist falsch, korrekte Syntax:
<script type="text/javascript">


Wozu soll der Link in
<span onclick="popup(this)"><a href="#">Otto</a></span>
gut sein? Wenn du meine Funktion benutzen willst solltest du auch den Rest so machen wie vorgegeben oder alles umschreiben. So gibts höchstens eine Fehlermeldung!

Und dettlef hat Recht -> du musst in formular.htm eine JavaScript-Funktion einbauen, die mittels
location.search.substr(1)
den übergebenen Namen ausliest.
Was du weiter damit machen willst entzieht sich meiner Kenntnis.
Mit
<script [i](schon wieder den type weggelassen - wo hast du den Unfug gelernt?)[/i]>var wer = location.search.substr(1);</script>

hast du den Otto in der Variablen
wer
. Um ihn anzuzeigen müsstest du
wer
zB. mit
document.write(wer);
irgendwie ausgeben!

Antwort 18 von Uesch vom 06.06.2019, 16:09 Options

Sehr geil.
Habs jetzt endlich verstanden und es klappt.

Danke an euch beide!

Antwort 19 von Uesch vom 06.06.2019, 16:14 Options

Ach noch eine Frage: Wie mach ich folgendes richtig:

	<input type="text" name="textfieldName" value="document.write(wer);" readonly size="16"><br>


Also dass im Textfeld Otto steht...

Danke,

Üsch

Antwort 20 von rfb vom 06.06.2019, 17:08 Options

zB so:

dies im head der formular.htm:

<script type="text/javascript">
window.onload=function () {
var wer = location.search.substr(1);
var feld=document.getElementsByName("textfieldName")[0];
if (feld) feld.value=wer;
}
</script>


und dies im body:


<input type="text" name="textfieldName" value="" readonly size="16">

Ähnliche Themen

eigenschaften unter anzeigen
Werner_25022008  26.03.2008 - 31 Hits - 5 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 09:21:55 2026