Avatar billede dennism Nybegynder
16. februar 2004 - 12:00 Der er 8 kommentarer og
1 løsning

JavaScript: Smiley-system

Jeg har et lille simpelt smiley-java script:

<script language='JavaScript'>
function smiley(smiley)
{
document.gb_write.text.value += smiley;
}
</script>

Så kan man så trykke på et smiley, og smileyet bliver indsat i feltet "gb_write":
<a href="java script:smiley(':)')"><img src="images/smiley/1.gif" align="bottom" style="border: 0;" alt="Smiley :)"></a>

Men når jeg trykker vil smileyet altid bliver indsat til sidst i feltet. Kan man ik lave sådan at det vil blive indsat der hvor courseren er?
Avatar billede nute Nybegynder
16. februar 2004 - 12:46 #1
hvad er pointet med at oprette spm to gange ??? spm skal *kun* oprettes én gang.

her har du en løsning:
http://www.experts-exchange.com/Web/Web_Languages/JavaScript/Q_20278344.html

/nute
Avatar billede dennism Nybegynder
16. februar 2004 - 13:11 #2
nute >>

Jeg har ikke adgang til denne side, da man skal oprette en bruger, og så vidt jeg kan se, så koster det penge, ik sandt?
Avatar billede nute Nybegynder
16. februar 2004 - 13:18 #3
nope ... jeg er ikke oprettet som bruger, og jeg kan sagtens se det. svaret ligger relativt langt ned på siden. men svaret der er postet, er som følger (du er nok nødt til at modificere en lille smule, men det skulle være til at overskue ):

<html>
<head>
      <title>Untitled</title>
</head>

<body>
<script language=javascript>
<!--
function markSelection ( txtObj )
{
    if ( txtObj.createTextRange )
    {
          txtObj.caretPos = document.selection.createRange().duplicate();
          isSelected = true;
    }
}

function insertTag ( txtName, tag, enclose )
{
    var closeTag = tag;
    if ( enclose )
    {
        var attribSplit = tag.indexOf ( ' ' );
          if ( tag.indexOf ( ' ' ) > -1 )
        {
            closeTag = tag.substring ( 0, attribSplit );
        }
    }
    if ( isSelected )
    {
        var txtObj = eval ( "document.forms[0]." + txtName );
        if (txtObj.createTextRange && txtObj.caretPos)
        {
            var caretPos = txtObj.caretPos;
            caretPos.text = ( ( enclose ) ? "<"+tag+">"+caretPos.text+"</"+closeTag+">" : "<"+tag+">"+caretPos.text    );
            markSelection ( txtObj );
            if ( txtObj.caretPos.text=='' )
            {
                  isSelected=false;
                  txtObj.focus();
            }
          }
    }
    else
    {
          // placeholder for loss of focus handler
    }
}
//-->
</script>
<form>
<textarea name="tsttxt" ONSELECT="markSelection(this);" ONCLICK="markSelection(this);" ONKEYUP="markSelection(this);"></textarea><input
type="button" value="BOLD" onClick="insertTag ( 'tsttxt', 'b', true )"> <input type="button" value="PARAGRAPH"
onClick="insertTag ( 'tsttxt', 'p', false )">
</form>
</body>
</html>

/nute
Avatar billede nute Nybegynder
16. februar 2004 - 13:20 #4
du skal også huske på at dette er kun muligt i IE

/nute
Avatar billede nute Nybegynder
27. februar 2004 - 18:53 #5
har du fået noget hjælp ?
Avatar billede dennism Nybegynder
28. februar 2004 - 12:31 #6
Tror jeg lukker her.

Vil gerne have noget der virker i IE!
Avatar billede nute Nybegynder
28. februar 2004 - 12:37 #7
læs hvad jeg skriver: "du skal også huske på at dette er kun muligt i IE"

det jeg har postet betyder, at dette *kun* er muligt i IE !!

/nute
Avatar billede dennism Nybegynder
28. februar 2004 - 12:49 #8
Undskyld, jeg skrev forkert.
Jeg mente at jeg gerne vil have noget som IKKE kun virker i IE ;)
Avatar billede nute Nybegynder
28. februar 2004 - 12:51 #9
ah ... oki :-) det kan jeg godt forstå ...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester