Avatar billede olelar Nybegynder
13. december 2000 - 17:47 Der er 3 kommentarer og
2 løsninger

Indsæt link midt i tekstfelt

Hvis jeg taster eksempelvis 100 ord ind i et formularfelt og efterfølgende ønsker et af ordene skal være et link (eksempelvis ord nr. 8.)
Hvordan udtager jeg ord nr. 8 og indsætter den nye linktekst?
F.eks. vil jeg gerne at man kan markere ordet og klikke på en knap der så sætter linkteksten ind.
Er det muligt?
Avatar billede Slettet bruger
13. december 2000 - 20:25 #1
Det tror jeg godt nok ikke!! Men du kan jo prøve i DHTML-kategorien...
Avatar billede stringbuffer Nybegynder
15. december 2000 - 12:26 #2
du kan ikke lave en (klikbar) hyperlink i et formularfelt af typen text eller textarea.

Hvis du gerne vil erstatte f.eks. ord nummer n med noget andet, kan det gøres rimelig simpelt:

hvis f.eks. din form hedder theForm og dit felt hedder memo:

function replaceWord(wordNr, replacement){
var myText = document.forms[\"theForm\"].memo.value;
var myWord = myText.split(\' \')[wordNr-1];
document.forms[\"theForm\"].memo.value = myText.replace(myWord, replacement);
}

det er selfølgelig meget simpel metode, den forudsætter bl.a. at ord nr n ikke forekommer før og at der er nøjagtig 1 mellemrum mellem hvert ord og et par andre detaljer...

men hvis du har brug for det kan jeg lave en til dig, der er stensikker, men det er jo slet ikke sikkert at det er det, du spørger efter
Avatar billede olelar Nybegynder
15. december 2000 - 18:08 #3
Hej

Jeg ved godt formuleringen af spørgsmålet ikke var den allerbedste, men heldigvis fangede I da lidt af den.

Kan man i tekstfeltet lave en replace af et ord inde midt i en tekst bare ved at man markerer ordet?
Stringbuffer du er jo tæt på, men jeg ville gerne om det var muligt bare ved en markering og et tryk på en knap.
Avatar billede mkelle1 Nybegynder
15. december 2000 - 19:35 #4
Hej Olelar

Som stringbuffer skriver kan man ikke lave et link i et textarea, men jeg har her et lille exempel på hvordan man kan udskifte et ord ved at markere det i textarea

<HTML>
<HEAD>
<SCRIPT>
function GemCursor (textEl)
{
    if (textEl.createTextRange)
  {
        textEl.caretPos = document.selection.createRange().duplicate();
    }
}


function IndsaetVedCursor (textEl, text)
{
    if (textEl.createTextRange && textEl.caretPos)
    {
      var caretPos = textEl.caretPos;
        caretPos.text =caretPos.text.charAt(caretPos.text.length - 1) == \' \' ?
            text + \' \' : text;
    }
    else
    {
      textEl.value  = text;
    }
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME=\"Din_Form\">
<TEXTAREA NAME=\"Dit_TextArea\" ROWS=\"5\" COLS=\"80\" WRAP=\"soft\"
              ONSELECT=\"GemCursor(this);\"
              ONCLICK=\"GemCursor(this);\"
              ONKEYUP=\"GemCursor(this);\"
                                ONDBLCLICK=\"GemCursor(this);\"
>
Eksperten gik i luften efteråret 1998, og er siden vokset til, nok det mest benyttede site indenfor sit felt i Danmark.

Vi beskæftiger os med udveksling af viden på kryds og tværs, mellem mennesker og virksomheder indenfor IT. Eksperten er kendetegnet ved et højt fagligt niveau hvor de fleste, viden til trods, har mulighed for at lære noget.

Det er vores mål fortsat at udvikle mulighederne for brugerne af Eksperten, med respekt for de nuværende elementer, som allerede har vist sit værd. Her kan nævnes anvendelsen af point, så man som ekspert, har mulighed for at måle sin viden med andre, og dermed profilere sig positivt. Fremtiden på Eksperten vil i høj grad være præget af løbende forbedringer, ikke mindst på baggrund af de forslag som brugerne kommer med.

Brugerne har gjort Eksperten til det den er i dag, og sådan vil det også være i fremtiden.


</TEXTAREA>
<BR>
<INPUT TYPE=\"text\" NAME=\"Din_Text\" SIZE=\"80\" VALUE=\"Hej\">
<BR>
<INPUT TYPE=\"button\" VALUE=\"Indsæt tekst\" ONCLICK=\"IndsaetVedCursor(this.form.Dit_TextArea,
    this.form.Din_Text.value);\">
</FORM>
</BODY>
</HTML>

Du skal bare enten placerer cursoren et sted, og derefter klikke på \"Indsæt tekst\", så bliver teksten i textfeltet indsat. Hvis du markere et (eller flere) ord med musen og trykker \"Indsæt tekst\" skiftes det markerede ud med textfeltet. (Det samme gælder hvis du dobbeltklikker på et ord)

Mads
Avatar billede olelar Nybegynder
13. januar 2001 - 08:09 #5
Jeg skal vist ikke bruge det alligevel (ikke i øjeblikket i hver tilfælde), så jeg havde helt glemt spørgsmålet var inde.
Stringbuffer og mkelle1 I deler lige for jeres forsøg ( som jeg aldrig fik testet :-) )
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