Willkommen in der Webstatt Zum Webstatt Blog und Stories
fish fish am 14.11.06 00:52

hi!
ich habe von javascript eher nicht so den plan, ne frage habe ich trotzdem.
also folgendes: ich hebe ein popupfenster und eine die seite, auf der es geöffnet wird. dort ist auch ein textarea. wenn ich jetzt einen link im popup drücke soll an der stelle wo der textcursor als letztes war ein text stehen. wie geht sowas?

wie mache ich, dass das popup immer im vordergrund ist?

netcup.de Warum gibt es hier Werbung?
Broken Sword Broken Sword am 14.11.06 07:20

Für die Behandlung des Textareas: http://de.selfhtml.org/javascript/objekte/elements.htm

Und das mit dem PopUp: http://de.selfhtml.org/javascript/objekte/window.htm

fish fish am 14.11.06 13:04

hilft mir jetzt nicht wirklich weiter...

kannst du mal genauer erklären?

Broken Sword Broken Sword am 14.11.06 15:09

Schau mal:
Test1.htm
<html><head><title>Test</title>
<script type="text/javascript">
function FensterOeffnen (Adresse) {
MeinFenster = window.open(Adresse, "Zweitfenster", "width=300,height=200,scrollbars=yes");
MeinFenster.focus();
}
</script>
</head><body>
<a href="datei2.htm" onclick="FensterOeffnen('test2.htm'); return false">Neues Fenster</a>
<form name="hali">
<textarea name="MP">asdasdads</textarea>
</form>
</body></html>


Test2.htm
<html><head><title>Test</title>
<script type="text/javascript">
function Fenster1 () {
opener.document.hali.MP.value = "huhu";
}
</script>
</head><body>
<form name="test">
<a href="datei2.htm" onclick="Fenster1(); return false">Neues Fenster</a></form>
</body></html>


Hoffe, daraus ergibt sich alles. Dass du Text genau dort einfügst, wo der Cursor blinkt, ist da etwas komplizierter, schau dir dazu doch einfach mal die wbb2 Variante: http://webstatt.org/js/bbcode.js an ;)

fish fish am 14.11.06 21:21

Quote
Original von Broken Sword
Dass du Text genau dort einfügst, wo der Cursor blinkt, ist da etwas komplizierter, schau dir dazu doch einfach mal die wbb2 Variante: http://webstatt.org/js/bbcode.js an ;)


klar check ich auch, wo ich doch noch nie js gemacht habe..

nee mal im ernst, ich hatte schon einmal ein script, dass die cursorposition berücksichtigt hat gefunden (http://aktuell.de.selfhtml.org/artikel/javascript/bbcode/ ), allerding habe ich keine ahnung wie ich das jetzt da oben einbaue.

weiterhin stellt sich mir die frage, wie ich das fenster mit den smileys immer im vordergrund lassen kann..

kann mir da einer helfen? danke.

Broken Sword Broken Sword am 14.11.06 22:28

Quote
Original von fish
klar check ich auch, wo ich doch noch nie js gemacht habe..

nee mal im ernst, ich hatte schon einmal ein script, dass die cursorposition berücksichtigt hat gefunden (http://aktuell.de.selfhtml.org/artikel/javascript/bbcode/ ), allerding habe ich keine ahnung wie ich das jetzt da oben einbaue.

weiterhin stellt sich mir die frage, wie ich das fenster mit den smileys immer im vordergrund lassen kann..

kann mir da einer helfen? danke.

Hehe, bin auch ein JS-Noob. Aber ich sag mal learning by doing :P
In der WBB2-Variante ist dafür die Funktion addText verantwortlich. die fast genauso wie die selfhtml Variante aussieht. Aber das ist egal.

Wo siehst du das Problem eigentlich. Einfach überall wo in dem Script "document." steht "opener." vorsetzen und es müsste damit erledigt sein.

fish fish am 14.11.06 23:06

wo ich das problem sehe?
ich blicke nicht durch... ich hab noch nie irgentwas mit js gemacht und habe auch keinen plan wie ich das jetzt anstellen soll was du meinst... kannst du mir mal deine lösung posten?

Broken Sword Broken Sword am 15.11.06 07:21

Quote
Original von fish
wo ich das problem sehe?
ich blicke nicht durch... ich hab noch nie irgentwas mit js gemacht und habe auch keinen plan wie ich das jetzt anstellen soll was du meinst... kannst du mir mal deine lösung posten?

Oh, aber ist doch nur noch 1 und 1 zusammenzählen.:P
Es gibt nun zwei Möglichkeiten, wie du nun das Problem lösen kannst.
Erstens: Du steckst den selfhtml Code in test1.htm und rufst in test2.htm einfach die insert-Funktion nicht mit "funktion()" sondern mit "opener.funktion()" auf. Oder halt alles in test2.htm und dann einmal auf Suchen/ersetzen und ersetzt einfach "document." zu "opener.document.".
Es Funktioniert beides ;)

fish fish am 15.11.06 09:37

okay habe es jetzt gecheckt ;P

wie mache ich dass ich statt dem button
<input type="button" value="Einfügen" onClick="insert('[link]', '[/link]')">
einen link verwende?

Broken Sword Broken Sword am 15.11.06 09:43

Quote
Original von fish
okay habe es jetzt gecheckt ;P

wie mache ich dass ich statt dem button
<input type="button" value="Einfügen" onClick="insert('[link]', '[/link]')">
einen link verwende?


<a href="#" onClick="insert('[link]', '[/link]')">Link</a>
<a href="javascript:insert('[link]', '[/link]')">Link</a>

fish fish am 15.11.06 19:54

danke!

ich habe jetzt versucht, es einzubauen, aber es funktioniert nicht :(

also der code von der seite mit dem textarea: Hier wird die datei http://fish.bierquartier.de/include/smilies.js eingebunden

<form class="kommentar_formular" name="kommentar_formular" action="<?php echo $PHP_SELF."?ebene_1=".$_GET['ebene_1']."&amp;ebene_2=".$_GET['ebene_2']."&amp;kommentare=1&amp;inhalt=".$_GET['inhalt']."&amp;seite=".$_GET['seite'];?>" method="post">
<input class="kommentar_name" name="name" maxlength="80" value="name" onfocus="if (value == 'name') {value =''}" onblur="if (value == '') {value = 'name'}"></input><br/>
<textarea class="kommentar_text" name="text" onfocus="if (value == 'text') {value =''}" onblur="if (value == '') {value = 'text'}" cols="8" rows="4">text</textarea><br/>
<img src="images/machwa/01.png" alt="mensch oder maschine? der code bitte in das eingabefeld eintragen. danke."/><br/>
<input class="kommentar_mawcha" maxlength="13" name="machwa" value="text aus dem bild hier eintragen" onfocus="if (value == 'bitte text aus dem bild hier eintragen') {value =''}" onblur="if (value == '') {value = 'bitte text aus dem bild hier eintragen'}"></input><br/>
<input class="kommentar_submit" type="submit" value="kommentar hinzufügen"/><br/>
<a href="javascript:void(0);" onclick="window.open('kommentare_hilfe.html', 'poppage', 'toolbars=0, scrollbars=1, location=0, statusbars=1, menubars=1, resizable=1, width=200 height=400, left = 60, top = 60');">smilies</a>
</form>


und der code von der seite mit den links: (kommentar_hilfe.html)
<img src="images/smilies/biggrin.gif" alt="*grins*" border="0" onclick="opener.insert(':D', '')" onmouseover="this.style.cursor='hand';" />

warum geht es nicht?
livebeispiel

Broken Sword Broken Sword am 16.11.06 13:13

lol, das ist natürlich die Variante, die ich nicht ausprobiert habe, wo ich nur geraten habe:P

fish fish am 16.11.06 17:24

kannst du mir sagen warum es im obigen beispiel nicht klappt, hier aber schon:
http://www.fish.bierquartier.de/test/zweitfenster/test1.html? wobei es eigentlich der gleiche code ist?

Broken Sword Broken Sword am 16.11.06 21:35

Es funktioniert, wenn du den JavaScript-Code nicht einbinden lässt sondern auf der Seite hast. Frag mich nicht warum :?

fish fish am 16.11.06 22:08

stimmt hast recht auch einmal geht es.. seltsam...

assassin am 17.11.06 09:25

Für das Popup kannst du das verwenden:

<body onLoad="self.focus();">

damit ist das popup bei jedem click auf den link wieder im vordergrund. funzt.


mit dem sollte das popup immer im vordergrund stehen:

<body onBlur="self.focus()">

nicht getestet.

fish fish am 17.11.06 16:18

danke funtzt! (zumindest für opera und ff)

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt