/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Skifte en knaps egenskab ud med en anden..~
Fra : Kasper Katzmann


Dato : 14-10-03 20:35

Jeg har fundet et script der kan indsætte tekst m.m. der hvor cursoren er
placeret i et textarea. Det er faktisk rigtigt smart.

Det jeg skal bruge det til, er at indsætte et tag (<b>) foran en tekst. Det
virker fint. Men når jeg har trykket på billedet der indsætter <b> tagget
vil jeg gerne kunne indsætte et </b> tag efter den tekst der skal være fed.

Hvordan får jeg skiftet <b> ud med </b> efter første tryk, og tilbage til
<b> efter andet tryk?

Koden kan ses herunder


<!--SCRIPT, der gør at man kan indsætte en text der hvor cursoren er
placeret i et textarea-->
<script>
function storeCaret (textEl) {
if (textEl.createTextRange)
textEl.caretPos = document.selection.createRange().duplicate();
}
function insertAtCaret (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>


<!--FORM, når man klikker på billedet indsættes et <b> tag i textarea-->
<form NAME="aForm">
<img SRC="../images/knapper/insBold.gif"
ONCLICK="insertAtCaret(document.forms.aForm.aTextArea,'<b>');
document.forms.aForm.aTextArea.focus();" WIDTH="25" HEIGHT="25">
<br/>
<textarea NAME="aTextArea"
ROWS="10"
COLS="40"
WRAP="soft"
ONSELECT="storeCaret(this);"
ONCLICK="storeCaret(this);"
ONKEYUP="storeCaret(this);"></textarea>
</form>

--
Mvh
Kasper Katzmann
Katzmann Consulting
http://www.katzmann.dk



 
 
Jonas Schmeltz Aaber~ (15-10-2003)
Kommentar
Fra : Jonas Schmeltz Aaber~


Dato : 15-10-03 00:55

> function insertAtCaret (textEl, text) {
<img SRC="../images/knapper/insBold.gif"
ONCLICK="insertAtCaret(document.forms.aForm.aTextArea,'<b>')

Du kan vel lave noget lignende dette:

<script>
s = 1; // variabel, der holder styr på, om det er starttag (1) eller sluttag
(0)

function tag(starttag,sluttag) {
if (s) {
s = 0;
return starttag;
}
else {
s = 1;
return sluttag;
}
}
</script>

Og dette kan så kaldes med:

<input type="button"
onClick="insertAtCaret(document.forms.aForm.aTextArea,tag('<b>','</b>');"
value="Fed">

Hvis du skal kunne bruge det uafhængigt af flere funktioner (kursiv,
understreget osv), skal hver enkelt knap have en variabel;

<script>
s = new Object(); // et array, der indeholder de enkelte
formatteringsmuligheder og deres tags
s["b"] = new Array(1,"<b>","</b>");
s["i"] = new Array(1,"<i>","</i>");
s["u"] = new Array(1,"<u>","</u>");
s["font"] = new Array(1,"<font face=\"\" color=\"\">","</font>");

function tag(funktion) {
if (s[funktion][0]) {
s[funktion][0] = 0;
return s[funktion][1];
}
else {
s[funktion][0] = 1;
return s[funktion][2];
}
}
</script>

<input type="button"
onClick="insertAtCaret(document.forms.aForm.aTextArea,tag('b');"
value="Fed">
<input type="button"
onClick="insertAtCaret(document.forms.aForm.aTextArea,tag('i');"
value="Kursiv">
<input type="button"
onClick="insertAtCaret(document.forms.aForm.aTextArea,tag('u');"
value="Understreget">




Håber det virker (jeg har ikke testet det selv!)...

MVH Jonas (aka Juke)

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste