Avatar billede 1409 Praktikant
26. februar 2007 - 15:00 Der er 5 kommentarer og
1 løsning

Formattering vha. JS

Jeg bruger dette til formattering: http://www.skovenborg.1go.dk/javascript/insertTag.php.

Problemet er, at jeg ikke kan få det det virke i flere tekstfelter i samme form, da disse jo har forskellige name's...


I forlængelse af det problem, har jeg endnu et:
Jeg har også gjort det muligt at indsætte links vha. af dette:

function insertLink() {
    strLink = window.prompt('Webadresse (husk http://)...', '')
    strtekst = window.prompt('Indtast link-tekst...', '')
    if (strLink != '' && strLink != null){
        check1 = strLink.indexOf(' ')
        check2 = strLink.indexOf(' ')
        if (check1 > 1 || check2 > 1){
            alert('Webadresse er ikke gyldig.')
            return (false)
        }
        if (document.formular.tekst.createTextRange && document.formular.tekst.caretPos) {
            var caretPos = document.formular.tekst.caretPos;
            caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? '<A TARGET=\"_blank\" HREF=' + strLink + '>' + strtekst + '</A>' + ' ' : '<A TARGET=\"_blank\" HREF=' + strLink + '>' + strtekst + '</A>';
        document.formular.tekst.focus();
        }
        else{
            document.formular.tekst.value += '<A TARGET=\"_blank\" HREF=' + strLink + '>' + strtekst + '</A>';
            document.formular.tekst.focus();
        }
    }
}

<INPUT TYPE=\"button\" title=\"Indsæt link\" value=\"Indsæt link\" onClick=\"insertLink()\">

Her er problemet det samme...
Avatar billede roenving Novice
27. februar 2007 - 01:01 #1
Øeh, whaddd ?-)

-- hvis du skal bruge insertTag-metoden på flere elementer, skal du vel bare referere til de forskellige elementer i knappernes kode:

onclick="insertTag(this.form.tekst,'','');"

onclick="insertTag(this.form.tekst2,'','');"
Avatar billede 1409 Praktikant
27. februar 2007 - 10:31 #2
Desværre nej...

Jeg har flere elementer, men kun en stribe knapper med fed, kursiv og links.
Noget ala det her:
<HTML>
<HEAD>
<SCRIPT LANGUAGE="javascript">
//formattering
function insertTag(frmElm,startTag,endTag) {
      if (typeof frmElm.selectionStart == "number") {
            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;
  }
//Indsættelse af link
function insertLink() {
    strLink = window.prompt('Webadresse (husk http://)...', '')
    strtekst = window.prompt('Link-tekst...', '')
    if (strLink != '' && strLink != null){
        check1 = strLink.indexOf(' ')
        check2 = strLink.indexOf(' ')
        if (check1 > 1 || check2 > 1){
            alert('Webadresse er ikke gyldig.')
            return (false)
        }
        if (document.formular.tekst.createTextRange && document.formular.tekst.caretPos) {
            var caretPos = document.formular.tekst.caretPos;
            caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? '<A TARGET=\"_blank\" HREF=' + strLink + '>' + strtekst + '</A>' + ' ' : '<A TARGET=\"_blank\" HREF=' + strLink + '>' + strtekst + '</A>';
        document.formular.tekst.focus();
        }
        else{
            document.formular.tekst.value += '<A TARGET=\"_blank\" HREF=' + strLink + '>' + strtekst + '</A>';
            document.formular.tekst.focus();
        }
    }
}
</SCRIPT>
</HEAD>

<BODY>

<FORM ACTION="action.php" NAME="formular" METHOD="post" ENCTYPE="multipart/form-data">
<TEXTAREA COLS="86" ROWS="10" NAME="tekst1" WRAP=virtual></TEXTAREA>
<TEXTAREA COLS="86" ROWS="10" NAME="tekst2" WRAP=virtual></TEXTAREA>
<TEXTAREA COLS="86" ROWS="10" NAME="tekst3" WRAP=virtual></TEXTAREA>

<INPUT TYPE="button" VALUE="[Fed]" onClick="insertTag(this.form.tekst,'[',']');"> <INPUT TYPE="button" VALUE="{Kursiv}" onClick="insertTag(this.form.tekst,'{','}');"> <INPUT TYPE="button" title="Indsæt link" value="Indsæt link" onClick="insertLink()">
</FORM>
Avatar billede roenving Novice
27. februar 2007 - 12:53 #3
Så må du opbevare referencen til kalorius, f.eks.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script language="javascript">
//formattering
function insertTag(startTag,endTag) {
      if (typeof actField.selectionStart == "number") {
            selectedtext = startTag+actField.value.substring(actField.selectionStart,actField.selectionEnd)+endTag;
            actField.value = actField.value.substring(0,actField.selectionStart)+selectedtext+actField.value.substr(actField.selectionEnd);
      }
      else if (document.selection) {
              actField.focus();
              r = document.selection.createRange();
              r.text = startTag+r.text+endTag;}
      else actField.value += startTag+endTag;
  }
//Indsættelse af link
function insertLink() {
    strLink = window.prompt('Webadresse (husk http://)...', '')
    strtekst = window.prompt('Link-tekst...', '')
    if (strLink != '' && strLink != null){
        check1 = strLink.indexOf(' ')
        check2 = strLink.indexOf(' ')
        if (check1 > 1 || check2 > 1){
            alert('Webadresse er ikke gyldig.')
            return (false)
        }
        if (actField.createTextRange && actField.caretPos) {
            var caretPos = actField.caretPos;
            caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? '<A TARGET=\"_blank\" HREF=' + strLink + '>' + strtekst + '</A>' + ' ' : '<A TARGET=\"_blank\" HREF=' + strLink + '>' + strtekst + '</A>';
        actField.focus();
        }
        else{
            actField.value += '<A TARGET=\"_blank\" HREF=' + strLink + '>' + strtekst + '</A>';
            actField.focus();
        }
    }
}
</script>
</head>

<body>

<form action="action.php" name="formular" method="post" enctype="multipart/form-data">
<textarea cols="86" rows="10" name="tekst1" wrap=virtual onfocus="actField=this;"></textarea>
<textarea cols="86" rows="10" name="tekst2" wrap=virtual onfocus="actField=this;"></textarea>
<textarea cols="86" rows="10" name="tekst3" wrap=virtual onfocus="actField=this;"></textarea>

<input type="button" value="[Fed]" onclick="insertTag('[',']');"> <input type="button" value="{Kursiv}" onclick="insertTag('{','}');"> <input type="button" title="Indsæt link" value="Indsæt link" onclick="insertLink()">
</form>
<script language="javascript">
var actField = document.formular.tekst1;
</script>
</body>
</html>
Avatar billede 1409 Praktikant
28. februar 2007 - 12:25 #4
Herligt!
Mange tak!

Smid et svar for point :-)
Avatar billede roenving Novice
28. februar 2007 - 12:29 #5
Velbekomme '-)
Avatar billede roenving Novice
02. marts 2007 - 11:09 #6
-- og tak for point ;~}
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