Avatar billede sorenmt84 Juniormester
05. januar 2002 - 22:52 Der er 5 kommentarer og
1 løsning

Rediger script

Jeg har følgende script, som jeg bruger til at indsætte simple html koder omkring noget tekst i et textarea... Scriptet virker på den måde, at hvis jeg skriver noget tekst, marker det og så trykker på f.eks. \"fed\" indsætter scriptet <b></b> omkring teksten... Det er også ok, problemet opstår så bare at hvis man først har markeret teksten engang og lavet fed, men så kommer til at markere den samme igen, så går det galt, man får en fejlmeddelse lige i hovedet... Der er forsøgt at lave noget, så den bare vender tilbage til feltet hvor man indtaster tekst, men det virker ikke... Det vil jeg meget gerne ha til at virke!!!

<script language=\"JavaScript\">
<!-- Gem koden for gamle browsere
function vindue(url,h,w) { var ww = 480, wh = 340, leftPos = null, topPos = null;

IE=(document.all)?true:false;
var wh = (IE)?document.body.clientHeight : window.innerHeight;
var ww = (IE)?document.body.clientWidth : window.innerWidth;

if (top.screen){
  if (screen.width){
    leftPos = Math.round((ww-w-10)/2);
    topPos = Math.round((wh-h-29)/2);
  } else {
    leftPos = 50
    topPos = 50
  }
}

popupWin = window.open(url, \'redigerbillede\', \'height=\' + h + \',width=\' + w + \',top=\' + topPos + \',left=\' + leftPos + \'\')
}
// -->
</script>
<% Response.Buffer = True %>
<html>
<script>
function doBold()
{   
    if (document.selection.createRange().text != \"\" && document.selection.createRange().text.indexOf(\"<b>\") == -1) {
        sT = document.selection.createRange(); 
        sTxt = \"<b>\" + sT.text + \"</b>\";
        sT.text = sTxt
    } else {
    return tekst;
    }
}
function doItalic()
{   
    if (document.selection.createRange().text != \"\" && document.selection.createRange().text.indexOf(\"<i>\") == -1) {
        sT = document.selection.createRange(); 
        sTxt = \"<i>\" + sT.text + \"</i>\";
        sT.text = sTxt
    } else {
    return tekst;
    }
}
function docenter()
{   
    if (document.selection.createRange().text != \"\" && document.selection.createRange().text.indexOf(\"<center>\") == -1) {
        sT = document.selection.createRange(); 
        sTxt = \"<center>\" + sT.text + \"</center>\";
        sT.text = sTxt
    } else {
    return test;
    }
}
function dounderline()
{   
    if (document.selection.createRange().text != \"\" && document.selection.createRange().text.indexOf(\"<u>\") == -1) {
        sT = document.selection.createRange(); 
        sTxt = \"<u>\" + sT.text + \"</u>\";
        sT.text = sTxt
    } else {
    return test;
    }
}
</script>
<body>
<table BORDER=\"0\" width=\"600\" align=\"center\">
<tr><td BGCOLOR=\"#D4D0C8\">
<form ACTION=\"show.asp\" METHOD=\"POST\" NAME=\"minelinks\">
<a href=\"java script:doBold();\"><img border=\"0\" src=\"fed.gif\"></a> 
 <a href=\"java script:docenter();\">Center</a> <a href=\"java script:dounderline();\">Understreget</a> <a href=\"java script:vindue(\'test2.asp\',600,600)\">Link</a></td></tr>
<tr><td>
<textarea cols=\"85\" rows=\"25\" name=\"tekst\" style=\"font-family: verdana;\">sadsad
Avatar billede sorenmt84 Juniormester
05. januar 2002 - 22:53 #1
Der er lige lidt mere kode, som ikke er kommet med i farten...

</textarea>
<input type=\"submit\" name=\"send\" value=\"Vis Eksempel\"> </form></td></tr></table>
</html>
Avatar billede Slettet bruger
06. januar 2002 - 11:29 #2
Du skriver to gange \"return tekst\" i dit script og to gange \"return test\". Du har dog ikke defineret nogle af disse variabler!
Jeg tror, det er der, fejlen ligger!
Avatar billede sorenmt84 Juniormester
06. januar 2002 - 11:33 #3
Det er et script jeg fik lavet herinde engang, men det blev aldrig rigtig til noget, så det gik lidt i glemmebogen, men nu står jeg og skal bruge sådan et, men jeg har ingen forstand på javascript...
Andgående det \"tetur tekst\" er det det tekstfelt som skal være aktivt når funktionen er kørt!
Avatar billede Slettet bruger
06. januar 2002 - 11:37 #4
Nårh, jamen så kan du ikke gøres sådan!
Så skal du bytte det dér \"return...\" ud med følgende:

document.minelinks.feltNavn.focus();
Avatar billede sorenmt84 Juniormester
06. januar 2002 - 11:43 #5
Som sagt, så er jeg ikke stærk i javascript og taget i betrækning for hvornår jeg gik i seng, er det stadig nat, så kan jeg med andre ord, få dig til at sætte det ind i mit script og poste det hele....
Avatar billede Slettet bruger
06. januar 2002 - 11:46 #6
<script>
function doBold()
{   
    if (document.selection.createRange().text != \"\" && document.selection.createRange().text.indexOf(\"<b>\") == -1) {
        sT = document.selection.createRange(); 
        sTxt = \"<b>\" + sT.text + \"</b>\";
        sT.text = sTxt
    } else {
    document.minelinks.tekst.focus();
    }
}
function doItalic()
{   
    if (document.selection.createRange().text != \"\" && document.selection.createRange().text.indexOf(\"<i>\") == -1) {
        sT = document.selection.createRange(); 
        sTxt = \"<i>\" + sT.text + \"</i>\";
        sT.text = sTxt
    } else {
    document.minelinks.tekst.focus();
    }
}
function docenter()
{   
    if (document.selection.createRange().text != \"\" && document.selection.createRange().text.indexOf(\"<center>\") == -1) {
        sT = document.selection.createRange(); 
        sTxt = \"<center>\" + sT.text + \"</center>\";
        sT.text = sTxt
    } else {
    document.minelinks.tekst.focus();
    }
}
function dounderline()
{   
    if (document.selection.createRange().text != \"\" && document.selection.createRange().text.indexOf(\"<u>\") == -1) {
        sT = document.selection.createRange(); 
        sTxt = \"<u>\" + sT.text + \"</u>\";
        sT.text = sTxt
    } else {
    document.minelinks.tekst.focus();
    }
}
</script>
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