Avatar billede dkkarpen Nybegynder
23. februar 2001 - 14:43 Der er 11 kommentarer og
1 løsning

Avanceret form funktion

Halløj

Jeg bruger pt. en funktion til formatering ved indtastning i database via html forms.

Den ser således ud:

<select name=\"drop\" onChange=\"markText();\">
<option selected>Vælg</option>
<option>Fed</option>
<option>Kursiv</option>
<option>Understreget</option>
<option>Side overskrift</option>
<option>Rød tekst</option>
<option>Blå tekst</option>
<option>Grøn tekst</option>
<option>Link</option>
<option>Bogmærke</option>
<option>Image align=left</option>
<option>Image align=right</option>
<option>Indrykning</option>
<option>Hævet skrift</option>
</select>

Javascriptet der henvises til er:

<script language=\"JavaScript\">
function _tag( a,b ) {
    this.start = a;
    this.end = b;
}

tagArray = new Array();
tagArray[1] = new _tag(\'<b>\',\'</b>\');
tagArray[2] = new _tag(\'<i>\',\'</i>\');
tagArray[3] = new _tag(\'<u>\',\'</u>\');
tagArray[4] = new _tag(\'<span class=overskrift>\',\'</span>\');
tagArray[5] = new _tag(\'<span class=red>\',\'</span>\');
tagArray[6] = new _tag(\'<span class=blue>\',\'</span>\');
tagArray[7] = new _tag(\'<span class=green>\',\'</span>\');
tagArray[8] = new _tag(\'<a href=>\',\'</a>\');
tagArray[9] = new _tag(\'<a name=>\',\'</a>\');
tagArray[10] = new _tag(\'<img src=../images/\',\' align=left border=0 hspace=8>\');
tagArray[11] = new _tag(\'<img src=../images/\',\' align=right border=0 hspace=8>\');
tagArray[12] = new _tag(\'<blockquote>\',\'</blockquote>\');
tagArray[13] = new _tag(\'<sup>\',\'</sup>\');

function markText() {
    var i = document.forms[\"textform\"].drop.selectedIndex;
    if (i != 0 && document.selection.createRange().text != \"\") {
        var temp = document.selection.createRange();
        temp.text = tagArray[i].start+temp.text+tagArray[i].end;
        document.selection.empty();
    }
    document.forms[\"textform\"].drop.selectedIndex = 0;
}   
</script>

Jeg kunne godt tænke mig at lave det om til klickbare ikoner med onclick event. Hvordan gør jeg det?
Avatar billede nute Nybegynder
23. februar 2001 - 14:47 #1
forstår jeg deg rett:

du vil lage noen ikoner som en bruker kan trykke på for å lage noe markert tekt bold/italic etc ?
Avatar billede dkkarpen Nybegynder
23. februar 2001 - 14:48 #2
Ja - præcis
Avatar billede nute Nybegynder
23. februar 2001 - 14:54 #3
en enkel løsning kan være:

<img src=\"bold.gif\" border=\"0\" onClick=\"markText( \"<b>\",\"</b>\" );\">

så skriver du om din markText() til

function markText(startTag, endTag) {
  if (i != 0 && document.selection.createRange().text != \"\") {
        var temp = document.selection.createRange();
        temp.text = startTag+temp.text+endTag;
        document.selection.empty();
    }
    document.forms[\"textform\"].drop.selectedIndex = 0;
}   

vil dette fungere for deg ?

/nute

Avatar billede dkkarpen Nybegynder
23. februar 2001 - 15:06 #4
Nej - det fungerer vist ikke rigtigt
Avatar billede dkkarpen Nybegynder
23. februar 2001 - 15:07 #5
I din onclick skal der vel også være plinger i stedet for anførselstegn?
Avatar billede nute Nybegynder
23. februar 2001 - 15:08 #6
ja, du har rett...det skal være \' istedenfor \". Men hva er det som ikke fungerer... hvilke feil får du (hvis du får noen feil) ?
Avatar billede dkkarpen Nybegynder
23. februar 2001 - 15:09 #7
Jeg får ingen fejl. Der sker bare ikke noget.
Avatar billede nute Nybegynder
23. februar 2001 - 15:24 #8
det holder faktisk med disse få linjene med kode:

function markText(startTag, endTag) {
  var temp = document.selection.createRange();
  temp.text = startTag + temp.text + endTag;
}


/nute
Avatar billede nute Nybegynder
23. februar 2001 - 15:24 #9
hov...*ikke* i Netscape vel å merke...
Avatar billede dkkarpen Nybegynder
23. februar 2001 - 15:25 #10
Ja nu virker det. Tak ;-)
Avatar billede nute Nybegynder
23. februar 2001 - 15:29 #11
anytime :)
Avatar billede dkkarpen Nybegynder
23. februar 2001 - 15:29 #12
Lige meget ;-)
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