Juergens-Workshops.de Forum
Text aus einem extra geöffneten Fenster in die Textarea eines bereits offenen Fenster - Druckversion

+- Juergens-Workshops.de Forum (https://forum.juergens-workshops.de)
+-- Forum: HTML und Co (https://forum.juergens-workshops.de/forumdisplay.php?fid=62)
+--- Forum: CSS und Javascript (https://forum.juergens-workshops.de/forumdisplay.php?fid=86)
+--- Thema: Text aus einem extra geöffneten Fenster in die Textarea eines bereits offenen Fenster (/showthread.php?tid=24597)



Text aus einem extra geöffneten Fenster in die Textarea eines bereits offenen Fenster - litterauspirna - 01.01.2008

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:


Text aus einem extra geöffneten Fenster in die Textarea eines bereits offenen Fenster - Helmut - 01.01.2008

Hi,

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

Cu Helmut


Text aus einem extra geöffneten Fenster in die Textarea eines bereits offenen Fenster - litterauspirna - 01.01.2008

Danke könntest du mir mal auf die Sprünge helfen bitte wie der Code dann aussehen muss? Vielen Dank


Text aus einem extra geöffneten Fenster in die Textarea eines bereits offenen Fenster - Helmut - 02.01.2008

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


Text aus einem extra geöffneten Fenster in die Textarea eines bereits offenen Fenster - litterauspirna - 03.01.2008

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


Text aus einem extra geöffneten Fenster in die Textarea eines bereits offenen Fenster - litterauspirna - 03.01.2008

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>";
}
?>



Text aus einem extra geöffneten Fenster in die Textarea eines bereits offenen Fenster - Helmut - 03.01.2008

...
uebertragen != insert

Die Funktionsaufrufe musst Du schon anpassen. ;-)

Cu Helmut


Text aus einem extra geöffneten Fenster in die Textarea eines bereits offenen Fenster - litterauspirna - 04.01.2008

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


Text aus einem extra geöffneten Fenster in die Textarea eines bereits offenen Fenster - litterauspirna - 07.01.2008

So also ich habe es mit einem Codeschnipsel selbst hinbekommen. Trotzdem vielen Dank für die Hilfe.:bounce::icon_bravo:xmasdanke