19. januar 2004 - 22:51
Der er
24 kommentarer og 1 løsning
javascript åben en form for windows
Hej Jeg har set på dating chatten så kan man trykket på et smily face ved siden af send knappen også kommer der en "form for window" frem med nogle billeder man så kan trykke på så de bliver indsat i tekstfeltet.... Hvordan laver man sådan at når man trykker på et billeder kommer der et "windows" frem, det er jo ikke et rigtig popup windows... nogle forslag?
Annonceindlæg fra Kommando
19. januar 2004 - 23:15
#1
sådan noget ligende ? <html> <head> <script type=text/javascript> function smilEmil(){ elm = document.getElementById('smiley') elm.style.display = (elm.style.display=="none")?"inline":"none"; } function indsaet(smil){ document.forms.frm.tekst.value += smil smilEmil(); } </script> </head> </body> <form name="frm"> <textarea name="tekst"></textarea> </form> <br/> <a href="java script:void(0)" onclick="smilEmil();">Indsæt Smiley</a><br> <div id="smiley" style="display:none;border:1px solid #000;position:absolute;"> Her kan du så smide en masse grafik ind eks.<br/> <a href="java script:void(0)" onclick="indsaet(':-)')">:-)</a> <a href="java script:void(0)" onclick="indsaet(':-(')">:-(</a> <a href="java script:void(0)" onclick="indsaet(':-|')">:-|</a> <a href="java script:void(0)" onclick="indsaet(':o)')">:o)</a> </div> </body> </html> Lidt svært når man ikke har set dating.dk's version :o)
19. januar 2004 - 23:20
#2
mon ikke at det skal være?: opener.document.frm.tekst.value += smi; Jeg går ud fra at det er en popup..? hvis ikke, skal der ikke stå opener..
19. januar 2004 - 23:21
#3
opener.document.frm.tekst.value += smil; document.FORMNAVN er "hurtigere" end document.forms...
19. januar 2004 - 23:22
#4
øh?
19. januar 2004 - 23:22
#5
hvis du nu lige testede det surfer :-)
19. januar 2004 - 23:23
#6
:) Hvis du f.eks. bruger docuemnt.forms['formtest'], skal den først finde alle formene, og derefter lede efter formen der hedder "formtest".. Hvis du bruger document.formtest, har du allerede fat i formen..
19. januar 2004 - 23:25
#7
Jeg er ikke i tvivl om at det virker.. der er mange ting der virker, men ikke optimalt, eller også ikke helt "lovligt".. browseren er tit lige glad.. f.eks. Internet Explorer.. den er lige glad med så mange ting.. :)
19. januar 2004 - 23:28
#8
grunken jA skU!!! Der er lige en ting... de behøves ik at lukke efter man har indsat smily... gerne en luk knappe istedet for :)
19. januar 2004 - 23:31
#9
er helt enig i at ie er ligeglad :-) med meget.... meeen 1. opener er bestemt ikke nødvendigt ;-) 2. Vi kan udemærket blive enige om at det er hurtigere at skrive document.formnavn.noget end document.forms.formnavn.noget bare en gammel vane :-)
19. januar 2004 - 23:38
#10
lige et lille spørgsmål... kan man lave sådan hvis nu man har skrevet noget i tekst feltet og man lige vil have en smily i midten af ens tekst... så kan man bare placere markøren også klik på smily så kommer der en der hvor markøren er midt i teksten i stedet for i bunden af teksten?
19. januar 2004 - 23:38
#11
hehe.. det er godt at vi er enige :) Jeg skrev jo: "Jeg går ud fra at det er en popup..? hvis ikke, skal der ikke stå opener.." Jeg regnede med at de der smileys dukkes frem i en popup, der bare indeholder smiley.. :)
19. januar 2004 - 23:40
#12
har selv fikset det der med den ik skal lukke og en luk kanppe... men det andet ved jeg ik lige hvordan man fikser
19. januar 2004 - 23:42
#13
Der skal man vist bruge noget CreateTextRange, eller hvad det nu hedder.. jeg tror at grunken har et eksempel.. Jeg ved ikke hvordan det bruges..
19. januar 2004 - 23:45
#14
oki venter lige og ser om grunken giver lyd fra sig :)
19. januar 2004 - 23:47
#15
hmm, er ved at være træt af de eksperten mails, men prøver bare lige igen så :-)
20. januar 2004 - 00:09
#16
her så :-) <html> <head> <script type=text/javascript> var harFokus function smilEmil(){ elm = document.getElementById('smiley') elm.style.display = (elm.style.display=="none")?"block":"none"; } function indsaet(smil){ if (harFokus) { rng = document.selection.createRange(); rng.text = smil; } } function efter(){ document.frm.tekst.focus(); } </script> <style type="text/css"> #luk { display:block; text-align:right; margin:0px; border-bottom:1px solid #000; background-color:#6777B3; } #smiley { border:1px solid #000; position:absolute; height:200px;width:380px; } </style> </head> </body> <form name="frm"> <textarea name="tekst" onfocus="harFokus = true;" onblur="harFokus = false;"></textarea> </form> <br/> <a href="java script:void(0)" onclick="smilEmil();">Indsæt Smiley</a><br> <div id="smiley" style="display:none;"> <div id="luk"><a href="java script:void(0)" onclick="smilEmil()" title="Luk">X</a></div> Her kan du så smide en masse grafik ind eks. <a href="java script:void(0)" onmousedown="indsaet(':-)')" onmouseup="efter();">:-)</a> <a href="java script:void(0)" onmousedown="indsaet(':-(')" onmouseup="efter();">:-(</a> <a href="java script:void(0)" onmousedown="indsaet(':-|')" onmouseup="efter();">:-|</a> <a href="java script:void(0)" onmousedown="indsaet(':o)')" onmouseup="efter();">:o)</a> </div> </body> </html>
20. januar 2004 - 00:23
#17
og forresten, bare for at det fungerer i alle browsere :-) ie er den eneste der understøtter createRange :-) så lav lige :-) <script type=text/javascript> var harFokus var ie = (document.fileSize)?true:false function smilEmil(){ elm = document.getElementById('smiley') elm.style.display = (elm.style.display=="none")?"block":"none"; } function indsaet(smil){ if(ie){ if (harFokus) { rng = document.selection.createRange(); rng.text = smil; } }else document.frm.tekst.value += smil } function efter(){ document.frm.tekst.focus(); } </script> i stedet
20. januar 2004 - 08:51
#18
Heg igen.... den der du siger der burde virker i alle browser, insætter smily i bunden af teksten når jeg prøver i IE, den anden version virker fino nok, men det skal helst ögså virker med andre end IE
20. januar 2004 - 14:56
#19
ændrer : var ie = (document.fileSize)?true:false til var ie = (document.selection.createRange)?true:false så burde vi være sikret :)
04. februar 2004 - 22:19
#20
skal vi ikke ha et svar?
04. februar 2004 - 22:19
#21
Mr gurken...
04. februar 2004 - 22:23
#22
har lig et lille sidste spørgsmål... min kode ser sådan ud: <html> <head> <title>Untitled</title> <script type=text/javascript> var harFokus var ie = (document.selection.createRange)?true:false function smilEmil(){ elm = document.getElementById('smiley') elm.style.display = (elm.style.display=="none")?"block":"none"; } function tingEmil(){ elm = document.getElementById('ting') elm.style.display = (elm.style.display=="none")?"block":"none"; } function indsaet(smil){ if(ie){ if (harFokus) { rng = document.selection.createRange(); rng.text = smil; } }else document.frm.tekst.value += smil } function efter(){ document.frm.tekst.focus(); } </script> <style type="text/css"> #luk { display:block; text-align:right; margin:0px; border-bottom:1px solid #000; background-color:#6777B3; } #smiley { border:1px solid #000; position:absolute; height:100px;width:500px; } #ting { border:1px solid #000; position:absolute; height:100px;width:500px; } </style> </head> <body> <form action="compile.php" method="post" name='frm'> Filnavn:<br> <input name="filnavn" value=".tex"><br> Tekst<br> <textarea onfocus="harFokus = true;" onblur="harFokus = false"; style="width:644px;height:390px;" name="tekst"> </TEXTAREA><br><br> <a href="java script:void(0)" onclick="smilEmil();">Indsæt Matematik</a> | <a href="java script:void(0)" onclick="tingEmil();">Greek</a> <br> <div id="smiley" style="display:none;"> <div id="luk">Matematik <a href="java script:void(0)" onclick="smilEmil()" title="Luk">X</a></div> <a href="java script:void(0)" onmousedown="indsaet('\\frace{}{}')" onmouseup="efter();">Brøk</a> <a href="java script:void(0)" onmousedown="indsaet('x^{}')" onmouseup="efter();">x^k</a> <a href="java script:void(0)" onmousedown="indsaet('\\sqrt{}')" onmouseup="efter();">Kvadratrod</a> </div> <div id="ting" style="display:none;"> <div id="luk">Greek <a href="java script:void(0)" onclick="tingEmil()" title="Luk">X</a></div> <a href="java script:void(0)" onmousedown="indsaet('\\gamma')" onmouseup="efter();">Gamma</a> </div> <br> <br> <br> <br> <br> <br><input type="submit" name="Compile" value="Compile"> <input type="reset" name="Rensfelter" value=Reset> </form> <br> </body> </html> NU har jeg 2 af de der windows ting... hvis jeg har den ene åben og åbner den anden bliver der bare oven i... har i et eks. på hvordan den automatisk lukker andre åbne og åbne den pågældene man har trykket på??
06. februar 2004 - 14:20
#23
Det kan jo sagtens laves :-) men er det ikke umiddelbart lettere at give både #ting og #smiley en baggrundsfarve, eks. hvid ? så har brugeren også selv mulighed for at bestemme om de foregående skal lukkes eller ej :-)
19. februar 2004 - 18:45
#24
vil du ik noget givet et svar .... så du kan få lidt points :)
19. februar 2004 - 21:04
#25
Svarer :o)
Vi tilbyder markedets bedste kurser inden for webudvikling