datenübergabe aus popup-fenster an php-formular
willi
- javascript
0 Ben0 willi0 Ben0 willi0 Benjamin Kühn0 willi0 Benjamin Kühn0 willi0 Benjamin Kühn0 willi
0 Struppi
hallo,
vielleicht kann mir jemand helfen.
ich hab ein formular in php von dem aus ich ein popup-fenster öffne mit folgender funktion
var tbs;
function fenster () {
top.tbs = window.open("/PFADANGABE/tbs.php","tbs","dependent=yes,width=310,height=160,screenX=350,screenY=290,titlebar=yes,scrollbars=yes");
}
im popup-fenster öffne ich ein php-script, das eine auswahlliste enthält (aus der datenbank selektiert)
nun möchte ich aus der liste einen oder auch mehrere einträge auswählen können und diese mit klick auf einen button in das hauptfenster übernehmen, ohne dass das hauptfenster neu geladen wird.
hier ein auszug aus dem script des popup-fensters
<input type="button" value="Textbaustein einfügen" onclick="javascript:opener.form[0].Text.setText('this.form[0].Text.select()');
this.close()">
das funktioniert so überhaupt nicht. ich hab nur keine ahnung von javascript.
für hilfe wäre ich dankbar.
gruß
willi
Hi Willi,
<input type="button" value="Textbaustein einfügen" onclick="javascript:opener.form[0].Text.setText('this.form[0].Text.select()');
this.close()">
Hier nimm mal bei onClick erstmal das javscript: raus. Ist unnötig.
Danach würde ich einfach schreiben: onClick="opener.document.form[0]Text.value=document.form[0].Text.value"
Probier das doch mal aus :)
Viele Grüße
Ben
hi ben,
habs mal so eingegeben, funktioniert aber auch nicht, d.h. wenn ich auf den button klick tut sich gar nichts.
viele grüße
willi
Hi Willi,
kannst du das ganze mal hochladen oder so? Wie heißen denn die Eingabefelder usw.?
Vielleicht musst du in meiner Version sogar nur noch die Namena anpassen...
Viele Grüße
Ben
hallo ben,
mit hochladen und so is wohl nicht, hab keine möglichkeit. ich hoffe, den rahmen hier im forum nicht zu sprengen und werd dir die beiden doku hier auszugsweise einmal anzeigen:
script1 (hauptdokument) script heißt /adressen/anschreiben/txt.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Schreibauftrag</title>
<script language="JavaScript">
var tbs;
function fenster () {
top.tbs = window.open("/privat/anschreiben/tbs.php","tbs","dependent=yes,width=310,height=160,screenX=350,screenY=290,titlebar=yes,scrollbars=yes");
}
//-->
</script>
<A HREF="javascript:fenster()" style="text-decoration:none">
<font face="helvetica,arial"><b> Text</b></a></font></td>
<td colspan="2">
<textarea name="Text" rows=5 cols=100 wrap=physical>$Text</textarea></td>
<input type="reset" width="100" value="verwerfen"> <input type="submit" width="100" value="erstellen"></td>
script2 (popup-fenster) script heißt /privat/anschreiben/tbs.php
<html>
<head>
<title>Textbaustein-Menü</title>
<script language="JavaScript">
</script>
<p>
<body bgcolor="#EDEDED">
<form name="tbs">
<td><font face="helvetica,arial"><b>Text </b></font></td>
<td colspan="2"><select name="Text" size=1>
";
foreach($Text_array as $key=>$value) {
$Text_array=explode("|",$value);
$row[id]=$Text_array[0];
$row[kuerzel]=$Text_array[1];
$row[tbs]=$Text_array[2];
if($Text != "" && $value == $Text) {
echo "<option value="$value" selected>$row[kuerzel]";
} else {
echo "<option value="$value">$row[kuerzel]";
}
}
<form>
<tr>
<td colspan="5" align="center">
<input type="button" value="Textbaustein einfügen" onClick="opener.document.form[0].Text.value=document.form[0].Text.value">
ich hoffe, du steigst noch durch, beide scripte komplette anzuzeigen hätte wohl doch den rahmen gesprengt,
dank im voraus
gruß willi
Hallo Willi,
jetzt ist mir klar, warum es nicht funktioniert :)
Es muss so aussehen, würde ich sagen:
<input type="button" value="Textbaustein einfügen" onClick="opener.document.forms[0].Text.value=document.tbs.Text.options[document.tbs.Text.selectedIndex].value">
Hier muss ja der Value eines DropDown-Menüs übergeben werden und nicht der Inhalt eines normalen Textfeldes. Versuch es mal so :)
Viele Grüße
Ben
jetzt ist mir klar, warum es nicht funktioniert :)
hi ben,
es funzt, zwar noch nicht mit mehrfachauswahl, es wird immer nur eine auswahl übernommen, eine weitere überschreibt die vorherige. aber ich froh, dass jetzt erst mal eine auswahl möglich ist. suuuuper und besten dank für alles.
gruß
willi
Hi Willi,
schön, dass es zum Teil funktioniert. Wenn du eine Mehrfachauswahl möglich machen willst, dann würde ich eine kleine Funktion schreiben, die ungefähr so aussehen müsste:
function uebernahme() {
opener.document.forms[0].Text.value = opener.document.forms[0].Text.value + document.tbs.text.options[document.tbs.Text.selectedIndex].value;
}
Dann brauchste in deinen Button nur noch ein onClick="uebernahme();" zu setzen. :)
Viele Grüße
Ben
hi ben,
der sonntag ist gerettet!!!!!!!
suuuuper. funktioniert so wie ich mir das vorgestellt hab.
vielen dank für die hilfe und die geduld
war im übrigen mein erster ausflug in ein forum und bin erstaunt
über die hilfsbereitschaft
schönen sonntag noch
grüße
willi
Hi Willi,
der sonntag ist gerettet!!!!!!!
suuuuper. funktioniert so wie ich mir das vorgestellt hab.
Na das klingt doch super. Freut mich, dass nun alles zu deiner Zufriedenheit klappt. :)
vielen dank für die hilfe und die geduld
war im übrigen mein erster ausflug in ein forum und bin erstaunt
über die hilfsbereitschaft
Es freut mich, dass du einen so positiven Eindruck von diesem Forum bekommen hast. Auch
ich staune immer wieder über die Schnelligkeit der Antworten, sowie die (meist vorhandene)
Kompetenz.
Wenn du mal wieder eine Frage hast, melde dich einfach hier. :)
Viele Grüße
Ben
hallo ben,
ich schon wieder, mir ist nämlich heute aufgefallen, dass ich zwar eine mehrfachauswahl treffen kann, also mehrere einträge markieren kann, jedoch nur der in der liste zuerste markierte eintrag übernommen wird. das ist mir gestern nicht aufgefallen. hab jetzt selbst schon in einem "schlauen" buch versucht, eine antwort auf meine frage zu bekommen, aber leider ohne erfolg. kannst du mir weiterhelfen?
noch eine zweite frage: gibt es überhaupt mit javascript die möglichkeit, einen eintag aus einer mehrfachauswahl, der mit der maus markiert wird, mit einem hinweistext zu versehen, so eine art sprechblase, was auch mit links möglich ist, also title="irgendwas"?
viele grüße
willi
hier ein auszug aus dem script des popup-fensters
<input type="button" value="Textbaustein einfügen" onclick="javascript:opener.form[0].Text.setText('this.form[0].Text.select()');
this.close()">das funktioniert so überhaupt nicht. ich hab nur keine ahnung von javascript.
"das funktioniert nicht" ist keine Fehlerbeschreibung, http://glasgoogle.de sagt dir wie du vielleicht an eine Fehlerbeschreibung kommst, die etwa Aussagekräftiger ist.
Darüberhinaus benutzt du Fantasiesyntax. Vielleicht hilft dir selfhtml weiter http://selfhtml.teamone.de/javascript/index.htm um Javascript richitg einzusetzten.
(Tipp: der Abbschnitt über 'forms' Formulare ist für dich lesenswert)
Struppi.