Text aus einem extra geöffneten Fenster in die Textarea eines bereits offenen Fenster
#1
Hallo @ all. Ich bin neu hier und wünsche allen erst mal ein gesundes neues Jahr 2008!

Also ich habe folgendes Problem was ich einfach nicht in den Griff bekomme. Wie ich den Text zum beispiel eines Smilies in eine Textarea bekomme weis ich und das klappt auch super wenn es sich in dem selben Fenster befindet wo die Textarea auch ist. Nun wenn ich dann einen Link betätige wie bei vielen Foren mit more Smilies öffnet sich dann per window.open ein neues Fenster wo mehr Smilies zur Auswahl stehen. Das geht auch die erscheinen dort durch php und mysql. Wenn ich dann auf ein Smilie dort klicke dann geht der Text nicht rein in die Textarea. Wie muss ich das machen kann mir bitte jemand helfen?

Vielen Dank im voraus MFG der Litter :sei_gepriesen:
Zitieren
#2
Hi,

du musst da mit dem parent.opener arbeiten um die Smilies vom Popup in das Elternfenster zu befördern

Cu Helmut
Zitieren
#3
Danke könntest du mir mal auf die Sprünge helfen bitte wie der Code dann aussehen muss? Vielen Dank
Zitieren
#4
Hi,

das wäre der Code für die Seite mit der Textarea in die Smilies o.a. eingefügt werden sollen.

[HTML]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

<title>Formular</title>

<style type="text/css">
body {
background-color: #f7f7f7;
font-family: Verdana, Arial;
font-size: 12px;
color: #000000;
}

</style>
<script language="JavaScript" type="text/javascript">
<!--
function auf(url) {
windowName = "";
options = "";
options += "toolbar=0,";
options += "location=0,";
options += "directories=0,";
options += "status=0,";
options += "menubar=0,";
options += "scrollbars=0,";
options += "resizable=1,";
options += "width=300,";
options += "height=300,";
options += "left=300,";
options += "top=200";
win = window.open(url, windowName , options);
if (!win.opener) {
win.opener = window;
}
};
//-->
</script>
</head>
<body>

<a href="javascript:auf('codepopup.html');">URL Fenster</a>

<form name="eintragsform" action="#">

<textarea name="message" cols="40" rows="10"></textarea>

</form>

</body>
</html>[/HTML]

Das ist das Popup mit zwei Beispielen, einmal einfügen aus Auswahlliste und per Link

[HTML]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">

<title>Popup Insert</title>

<script language="JavaScript">

function insert(form,field,auswahltxt) {
var formular = parent.opener.document.forms[form];

if (parent.opener.document.forms[form].elements[field].createTextRange) {
parent.opener.document.forms[form].elements[field].focus();
parent.opener.document.selection.createRange().duplicate().text = auswahltxt;

} else if ((typeof parent.opener.document.forms[form].elements[field].selectionStart) != 'undefined') { // für Mozilla
var tarea = parent.opener.document.forms[form].elements[field];
var selEnd = tarea.selectionEnd;
var txtLen = tarea.value.length;
var txtbefore = tarea.value.substring(0,selEnd);
var txtafter = tarea.value.substring(selEnd, txtLen);
var oldScrollTop = tarea.scrollTop;
tarea.value = txtbefore + auswahltxt + txtafter;
tarea.selectionStart = txtbefore.length + auswahltxt.length;
tarea.selectionEnd = txtbefore.length + auswahltxt.length;
tarea.scrollTop = oldScrollTop;
tarea.focus();

} else {
parent.opener.document.forms[form].elements[field].value += auswahltxt;
parent.opener.document.forms[form].elements[field].focus();
}
formular.focus();
window.close();
}

//-->
</script>

<!--
Code fuer onchange insert
onchange="insert('eintragsform','message',this.options[this.selectedIndex].value)"
Beispiel:
<select name="urlauswahl" multiple size="4" onchange...>
-->

<form name="url">
<select name="urlauswahl" multiple size="4">
<option value="">--- Auswahl treffen ---</option>
<option value="www.google.de">www.google.de</option>
<option value="www.yahoo.de">www.yahoo.de</option>
<option value="www.heise.de">www.heise.de</option>
</select>
<input type="button" name="go" value="Einfügen" onClick="insert('eintragsform','message',urlauswahl.options[urlauswahl.selectedIndex].value)">
</form>

<a href="javascript:insert('eintragsform','message','Smile');">Smilie :-)</a>

</body>
</html>[/HTML]

Cu Helmut
Zitieren
#5
Hallo ich noch mal. Ich schicke hier mal meinen bisherigen Code wo sich meine Textarea befindet.

Die Datei wo sich der Code befindet heist datei_anlegen.php
PHP-Code:
<?php
session_start
();
require(
'config.inc.php');

$dateiname    =    $_POST['dateiname'];
$text        =    $_POST['text'];

if(isset(
$_POST['dateisend']))
{
    if(
$_POST['dateiname']=="")
    {
        echo
"Dateiname fehlt!<br>
        <a href=\"datei_anlegen.php\">Zurück</a>"
;
    }
    
    if(
strlen($_POST['text'])<15)
    {
        echo
"Dateitext fehlt oder hat weniger als 15 Zeichen!<br>
        <a href=\"datei_anlegen.php\">Zurück</a>"
;
    }
    else
    {
        
mysql_query("Insert Into $tab_datei
                  (dateiname,dateitext)
            VALUES('
$dateiname','$text')
                  "
);
        
header("Location: http://localhost/tom/admin.php");
        
mysql_close();
    }
}

require(
'kopf.php');
require(
'admin_kopf.php');
?>
<br>
<table cellspacing="0" cellpadding="2" width="600">
<tr>
<th colspan="2" class="th">Datei anlegen</th>
</tr>
<form action="<?php echo $_SERVER['PHP_SELF']?>" name="formular" method="post">
<tr>
<td width="200" valign="top" align="right" class="td_forms">Dateiname:</td>
<td width="400">
<input type="text" name="dateiname" class="textfelder">
</td>
</tr>
<tr>
<td width="200" valign="top" align="right" class="td_forms">Dateiinhalt:</td>
<td width="400" class="tdtop">
<?php
include('editor.php');
?>
<textarea class="textfelder" name="text" cols="40" rows="5">
</textarea>
</td>
</tr>
<tr>
<td width="200" align="right"><a href="javascript:window.open('http://localhost/tom/datei_picupload.php','fenster','width=400,height=300,left=150,top=100');void(0)">Bild einfügen</a></td>
<td width="400">
&nbsp;
</td>
</tr>
<tr>
<td colspan="2" align="center">
<input class="textfelder" type="submit" name="dateisend" value="Post Datei">
</td>
</tr>
</form>
</table> 

Und in der Datei befindet sich der Code wo das Bild in die Textarea per klick hin soll.
Diese Datei heist dateipic_insert.php
PHP-Code:
<?php
require('config.inc.php');
require(
'function.inc.php');

$dateipic_result=mysql_query("select * from $tab_dateipic");
while(
$dateipic_row=@mysql_fetch_array($dateipic_result)){
    
$dateipic_id        =    $dateipic_row['id'];
    
$dateipic_name        =    $dateipic_row['name'];
    
$dateipic_img        =    $dateipic_row['img'];

}
?>

<script type="text/javascript">
<!--
function uebertragen(bild) {
opener.document.formular.text.value +=<?php echo $dateipic_img ?>;
opener.document.formular.text.focus();
}
//-->
</script>
<?php echo "<a href=\"#\" onClick=\"insert('".$dateipic_name."')\">".$dateipic_img."</a>"?>

Könntest du mir helfen beider Datein so anzupassen das es geht?

Vielen Dank MFG Litter
Zitieren
#6
OK,das mit dem offenen Fenster und einfügen klappt jetzt supi.

Aber ich bekomme wenn ich beim Gästebucheintrage ein Smilie hinzufügen will immer ein undefined dazu. Wie müsste ich das denn für das ganz normale hinzufügen von Smilies schreiben?

Vielen Dank für die Hilfe

Der momentane Code dafür sieht so aus
PHP-Code:
<script type="text/javascript">
<!--
function 
uebertragen(bild) {
opener.document.formular.text.value +=bild;
opener.document.formular.text.focus();
}
//-->
</script>

<?
php
require('config.inc.php');
require(
'function.inc.php');

$smilie_result=mysql_query("select * from $tab_smilie");
while(
$smilie_row=@mysql_fetch_array($smilie_result)){
    
$smilie_id            =    $smilie_row['id'];
    
$smilie_code        =    $smilie_row['code'];
    
$smilie_image        =    $smilie_row['image'];

echo 
"<a href=\"#\" onClick=\"insert('".$smilie_code."')\">".$smilie_image."</a>";
}
?>
Zitieren
#7
...
uebertragen != insert

Die Funktionsaufrufe musst Du schon anpassen. ;-)

Cu Helmut
Zitieren
#8
Hallo Helmut. Ich habe versucht das jetzt zu ändern aber nicht hinbekommen. Ich bekomme das undefined einfache nicht weg. Wenn ich auf einen Smilie klicke trägt es den Text zwar ins Textfeld ein,sieht aber dann so aus.

:baller:undefined

Wie bekomme ich das undefined weg?

Vielen Dank für deine Mühen. MFG der Litter
Zitieren
#9
So also ich habe es mit einem Codeschnipsel selbst hinbekommen. Trotzdem vielen Dank für die Hilfe.:bounce::icon_bravo:xmasdanke
Zitieren



Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Dropdown-Menue - Text wird nach unten verschoben Doris 8 5.704 20.04.2010, 16:39
Letzter Beitrag: Doris
  Popup-Fenster schließen suh-oko! 1 1.472 02.08.2007, 12:54
Letzter Beitrag: Helmut
  Hi brauch unbedingt hilfe bei einem banneraustauchscript exo 1 1.253 18.04.2006, 13:15
Letzter Beitrag: Helmut
  text von oben nach unten Vincent 4 2.197 16.04.2006, 19:07
Letzter Beitrag: Kuddl83
  aufscrollendes Fenster lufti 2 1.806 18.01.2005, 00:57
Letzter Beitrag: Jürgen
  Neues Fenster ohne Rahmen Dragi 10 4.925 23.08.2004, 18:36
Letzter Beitrag: Dragi