Avatar billede gonza.dk Nybegynder
20. oktober 2002 - 02:06 Der er 8 kommentarer og
1 løsning

send fra selectbox til formfelt

Hej

Jeg har dette script:

<html>
<head>

<script>
var dineData = new Array();
dineData[":-)"] = ":-)";
dineData[":-("] = ":-(";
dineData[":-/"] = ":-/";

function lookUp (smiley) {
            document.smiley.besked.value = dineData[smiley.value];
};
</script>

</head>

<body>

<form name='smiley'>

<select name='smiley' value="" onchange="if(this.value.length==3){lookUp(this)};">
<option value="">vælg smiley</option>
<option value=":-)">:-)</option>
<option value=":-(">:-(</option>
<option value=":-/">:-/</option>
</select>

<input type="text" name="besked" value="">

</form>
</body>
</html>

Det kan ses her: http://gonza.dk/test/smiley.htm

problemet er at når man indsætter en smiley, så overskrives den tekst der der stod der i forvejen. Hvordan laver man det om, så den bare smider smileyen bagved teksten?

Mvh.
Gonza
Avatar billede nocs Nybegynder
20. oktober 2002 - 02:13 #1
<script>
function storeCaret(text) {
        if (text.createTextRange) {
                text.caretPos = document.selection.createRange().duplicate();
        }
}

function tilfoj(text) {
      if (document.form.navn.createTextRange && document.form.navn.caretPos) {
      var caretPos = document.form.navn.caretPos;
   
      caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?
      text + ' ' : text; }
      else document.form.navn.value += text;
      document.form.navn.focus(caretPos)
      ?>
}

function bold() {
        kode=" [B] [sB] ";
        tilfoj(kode);
}
function italic() {
        kode=" [I] [sI] ";
        tilfoj(kode);
}
function linjeskift() {
        kode="[br]";
        tilfoj(kode);
}
function omPunkter() {
        kode=" [OmPunkterStart] [OmPunkterSlut] ";
        tilfoj(kode);
}
function punkt() {
        kode=" [punktStart] [punktSlut] ";
        tilfoj(kode);
}
</script>

Håber du kan bruge det...
Avatar billede nocs Nybegynder
20. oktober 2002 - 02:14 #2
Og på dit input felt skal der tilføjes:
ONSELECT=\"java script:storeCaret(this);\" ONCLICK=\"java script:storeCaret(this);\" ONKEYUP=\"java script:storeCaret(this);\" ONCHANGE=\"java script:storeCaret(this);\"
Avatar billede gonza.dk Nybegynder
20. oktober 2002 - 02:15 #3
prøver lige at lege lidt med det, og vender så tilbage. :o)
Avatar billede gonza.dk Nybegynder
20. oktober 2002 - 02:26 #4
synes ikk rigtig at den vil smide smileysne over i textfeltet. Jeg har ændret:

'form' til 'smiley'

og

'navn' til 'besked'

er det rigtigt? og er der mere der skal ændres?
Avatar billede nocs Nybegynder
20. oktober 2002 - 02:29 #5
først lav en function:
f.eks. function smil() {
        kode=" :-) ";
        tilfoj(kode);
}
<a href=\"#\" onclick=\"smil();\"> :-) </A>
Det skulle vist være de rigtige ting der er ændret.
Avatar billede nocs Nybegynder
20. oktober 2002 - 02:29 #6
måske uden de \ jeg har lavet :)
Avatar billede nocs Nybegynder
20. oktober 2002 - 02:42 #7
Har lige lavet det for dig:
<html>
<head>
<script>
function storeCaret(text) {
        if (text.createTextRange) {
                text.caretPos = document.selection.createRange().duplicate();
        }
}

function AddText(text) {
        if (document.smiley.besked.createTextRange && document.smiley.besked.caretPos) {
                var caretPos = document.smiley.besked.caretPos;
                caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ?
                text + ' ' : text;
        }
        else document.smiley.besked.value += text;
        document.smiley.besked.focus(caretPos)
}

function smil() {
        AddTxt=":-)";
        AddText(AddTxt);
}

</script>

</head>

<body>

<form name='smiley'>

<a href="#" onclick="smil();"> :-) </A>

<input type="text" name="besked" value="" ONSELECT="java script:storeCaret(this);" ONCLICK="java script:storeCaret(this);" ONKEYUP="java script:storeCaret(this);" ONCHANGE="java script:storeCaret(this);">

</form>
</body>
</html>
Avatar billede gonza.dk Nybegynder
20. oktober 2002 - 02:45 #8
Tak. men havde ellers lige fået det til at virke. sov godt når den tid kommer. :o)
Avatar billede nocs Nybegynder
20. oktober 2002 - 02:46 #9
Tak, ilm :)
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