Al opgelost.. sowwy (zie eerste reply post)
ik heb een code gemaakt voor een simpele 'online html editor' deze werkt met een textarea waarin alles getikt wordt met daaronder een preview veld. door middel van wat knoppen kan je simpele tags toeveogen zoals bol / italic/ href en img. nu wil ik deze meteen laten zien in het preview veld... dit deed ik met onkeypress. dit had als nadeel dat het een karakter achterloopt op wat je typt.. onkeydown precies hetzelfde verhaal.. onkeydown werkt wel alleen het nadeel is dat hij het direct getypte in het textarea weghaald zodra je een automagische tag toevoegt..
kleine uitleg betreffende variable laag dit is een waarde waarmee wordt aangegeven welke textarea hij mag gebruiken.. op 1 pagina staan er meerder..
ik heb een code gemaakt voor een simpele 'online html editor' deze werkt met een textarea waarin alles getikt wordt met daaronder een preview veld. door middel van wat knoppen kan je simpele tags toeveogen zoals bol / italic/ href en img. nu wil ik deze meteen laten zien in het preview veld... dit deed ik met onkeypress. dit had als nadeel dat het een karakter achterloopt op wat je typt.. onkeydown precies hetzelfde verhaal.. onkeydown werkt wel alleen het nadeel is dat hij het direct getypte in het textarea weghaald zodra je een automagische tag toevoegt..
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
| function testingBrowser(laag) { if( document.getElementById ) { return document.getElementById(laag); } else if( document.all ) { return document.all[laag]; } else { return document[laag]; } } function replaceAll (streng, soeg, erstat) { var st = streng; if (soeg.length == 0) return st; var idx = st.indexOf(soeg); while (idx >= 0) { st = st.substring(0,idx) + erstat + st.substr(idx+soeg.length); idx = st.indexOf(soeg); } return st; } function previewHTML(laag) { target = testingBrowser("textarea" + laag); allText = replaceAll (target.value,"\n","<br>"); testingBrowser("test" + laag).innerHTML = allText; } function putText(laag,text) { target = testingBrowser("textarea" + laag); if ( target ) { if ( document.all && target.cursorPos ) { var cursorPos = target.cursorPos; cursorPos.text = cursorPos.text.charAt(cursorPos.text.length - 1) == ' ' ? text + ' ' : text; } else if ( typeof target.selectionStart != 'undefined' ) { var sStart = target.selectionStart; var sEnd = target.selectionEnd; target.value = target.value.substr(0, sStart) + text + target.value.substr(sEnd, target.value.length); target.selectionStart = sStart == sEnd ? sStart + text.length : sStart; target.selectionEnd = sStart + text.length; } else { target.value += text; } target.focus(); } } |
kleine uitleg betreffende variable laag dit is een waarde waarmee wordt aangegeven welke textarea hij mag gebruiken.. op 1 pagina staan er meerder..
[ Voor 5% gewijzigd door Daniel304 op 13-11-2003 13:50 ]