Avatar billede hmmhelpinghmm Nybegynder
06. juli 2004 - 18:02 Der er 10 kommentarer og
1 løsning

Hjælp til kode med markering og fed skrift!?

JEg har fået denne kode af en!
Problemet er at hvis der ikke er nogen markering så sætter den bare <b></b> det første sted den kan komme til det. Det skal den ikke, den skal indsætte i mit textarea som hedder besked, jeg har prøvet så meget men intet virker, byttet text ud med besked osv. men vil ikke. HVis jeg gør det, så sker der ingenting ved klik på den. Den finder ikke mit textarea. Det scriptet skal er at, hvis du har markeret noget I feltet besked, så skal den sætte <b> og </b> uden om det!, det fungere fint, bortset fra at markeres andet på siden sker det også!
Hvis intet er markeret skal den indsætte <b></b> i feltet besked. men det virker ikke!
Hjælp tak! :)

function boldThis(from) {
strSelection = document.selection.createRange().text
if (strSelection == "") {
document.selection.createRange().text = strSelection + "<b></b>"
}
else document.selection.createRange().text = "<b>" + strSelection + "</b>"
return;
}
Avatar billede roenving Novice
06. juli 2004 - 18:06 #1
Måske:

function boldThis(from) {
  strSelection = document.selection.createRange().text
  if (strSelection == "") {
    document.forms[0].TEXTAREANAVN.value += "<b></b>"
  }
  else document.selection.createRange().text = "<b>" + strSelection + "</b>"
  return;
}
Avatar billede skovenborg Nybegynder
06. juli 2004 - 18:12 #2
du kan også prøve:
http://www.skovenborg.1go.dk/javascript/insertTag.php

Det virker også i mozilla :-)
Avatar billede hmmhelpinghmm Nybegynder
06. juli 2004 - 18:14 #3
jo tak den er der næsten, har lavet sådan nu:

function boldThis(from) {
  strSelection = document.forms[0].besked.value
  if (strSelection == "") {
    document.forms[0].besked.value += "<b></b>"
  }
  else document.forms[0].besked.value = "<b>" + strSelection + "</b>"
  return;
}

Problemet er bareat nu når jeg markerer en tekst, og vælger fed, så hvis beskeden er

hej jeg hedder hmm

MArkerer jeg

Så står der:
<b> hej jeg hedder hmm </b>

Hvis jeg siger += i else sætningen står der

hej jeg hedder hmm <b>jeg</b>

Hvad gør jeg?
Avatar billede hmmhelpinghmm Nybegynder
06. juli 2004 - 18:16 #4
skovenborg >> hvordan laver jeg det om så det passer med mit script, hvad skal ændres?
function insertTag(frmElm,startTag,endTag) {
      if (frmElm.selectionStart != undefined && frmElm.selectionEnd != undefined) {
            selectedtext = startTag+frmElm.value.substring(frmElm.selectionStart,frmElm.selectionEnd)+endTag;
            frmElm.value = frmElm.value.substring(0,frmElm.selectionStart)+selectedtext+frmElm.value.substr(frmElm.selectionEnd);
      }
      else if (document.selection) {frmElm.focus();r = document.selection.createRange();r.text = startTag+r.text+endTag;}
      else frmElm.value += startTag+endTag;
}
Avatar billede hmmhelpinghmm Nybegynder
06. juli 2004 - 18:27 #5
roenving >> 18:14:43
Avatar billede hmmhelpinghmm Nybegynder
06. juli 2004 - 18:35 #6
skovenborg din virker smid et svar, og takker.
Avatar billede roenving Novice
06. juli 2004 - 18:44 #7
I 18:14:43 har du lavet for meget om, det skal være:

function boldThis(from) {
  strSelection = document.selection.createRange().text
  if (strSelection == "") {
    document.forms[0].besked.value += "<b></b>";
  }
  else document.selection.createRange().text = "<b>" + strSelection + "</b>";
  return;
}
Avatar billede skovenborg Nybegynder
06. juli 2004 - 20:05 #8
hvad var det du skulle lave om på mit script? Er interesseret i eventuelle forbedringer :-)

og her er et svar :-)
Avatar billede hmmhelpinghmm Nybegynder
07. juli 2004 - 13:07 #9
Det eneste var bare at jeg skulle skrive denne linje om
  <input type="button" value="Understreget" onclick="insertTag(this.form.besked,'<u>','</u>');" /><br>


der hvor der står besked stod tekst før, det må godt fremgå på siden du skal det!

Så en ting mere, jeg vil gerne have at man kan insætte links også, men hvordan kan jeg gøre det på samme måde?, har denne kode men den gør det samme som beskrevet i spørgsmålet!

function ahrefThis() {
strSelection = document.selection.createRange().text
if (strSelection == "") document.text.text.focus()
strHref = prompt("Enter the URL of the site you to link:","http://")
if (strHref == null) return;
document.selection.createRange().text = "<a href=\"" + strHref + "\" target=\"_blank\" class=\"text\">" + strSelection + "</a>"
return;
}

HVad skal jeg gøre med det så det kan virke?
sætter gerne flere point på!
Avatar billede hmmhelpinghmm Nybegynder
07. juli 2004 - 13:08 #10
forresten tilføjelse til det over, bruger skovenborgs til det andet, men hvad skal ændres så det gør den ønskede funktion?

function insertTag(frmElm,startTag,endTag) {
      if (frmElm.selectionStart != undefined && frmElm.selectionEnd != undefined) {
            selectedtext = startTag+frmElm.value.substring(frmElm.selectionStart,frmElm.selectionEnd)+endTag;
            frmElm.value = frmElm.value.substring(0,frmElm.selectionStart)+selectedtext+frmElm.value.substr(frmElm.selectionEnd);
      }
      else if (document.selection) {frmElm.focus();r = document.selection.createRange();r.text = startTag+r.text+endTag;}
      else frmElm.value += startTag+endTag;
}
Avatar billede hmmhelpinghmm Nybegynder
07. juli 2004 - 13:10 #11
nej opretter nyt spørgsmål med det!
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