UBB javascript

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Dick oo

dick oo

05/10/2010 22:04:23
Quote Anchor link
Ik zit er nog steeds mee en volgens mij kan het best wel makkelijk

Klik op button: B, dat er om de geselecteerde tekst de tags <b> </b> komt te staan, of de tags en de caret tussen de tag
(driehoekjes moeten eigenlijk vierkante haakjes zijn ;))

Volgens mij kan dit best wel kort..

Ik dacht aan een functie als volgt..

function addUBB(form, textarea_id, tag1, tag2){

}

en dan onclick="addUBB('add', 'bericht', '<b>', '</b>')"
Gewijzigd op 05/10/2010 22:06:30 door Dick oo
 
PHP hulp

PHP hulp

25/04/2024 10:56:13
 

05/10/2010 22:11:00
Quote Anchor link
Jeah?

Ik volg d'r geen hout van.
Misschien alleen Henk of alleen Annie laten tikken?
 
Noppes Homeland

Noppes Homeland

05/10/2010 22:11:35
Quote Anchor link
Als je bijvoorbeeld fckeditor download, dan kan je uitstekend uitzoeken hoe zij dat gedaan hebben.
 
- SanThe -

- SanThe -

05/10/2010 22:21:08
Quote Anchor link
Karl Karl op 05/10/2010 22:11:00:
Misschien alleen Henk of alleen Annie laten tikken?


Hahaha ;-)
 
Dick oo

dick oo

05/10/2010 22:57:27
Quote Anchor link
Henk is er..

Gewoon de cursor tussen de ingevoerde tags..

van phphulp ubb alk en tinymce wordt ik niet wijzer
 
Mark L

Mark L

06/10/2010 00:26:16
Quote Anchor link
Wat je nodig hebt:
Een getCaret & setCaret-functie. Je doet een onkeypress-event (of onkeydown of whatever). Als 'b' gedrukt word - (wat onhandig is als je wilt typen 'bas beeft boven barends baard.', omdat je de b dan niet kan typen, dus dan krijg je 'as eeft oven arends aard.'), dus zou ik kijken of er op 'b' gedrukt ALS er tekst is geselecteerd (moet je dus ook uitzoeken...)
Dan kijk je van waar tót waar er geselecteerd is (vanuit de getCaret-functie) en dit replace je met '<b>Text</b>'. Daarna doe je er weer een setCaret-functie overheen, zodat de Caret weer op de goede plaats komt. De Caret moet uiteraard wel 7 plaatsen verder (vanwege de b-tags)

caretFuncties();
 
Tobias Tobias

Tobias Tobias

06/10/2010 10:27:38
Quote Anchor link
of je zoekt op UBB in de scripts, er staat hier een hele goede die makkelijk te gebruiken en uit te breiden is...
 
Robert Deiman

Robert Deiman

06/10/2010 10:47:04
Quote Anchor link
Je kan ook hier ff in de code kijken, dit doet eigenlijk wat je wilt:

http://www.robertdeiman.net/preview.php
 
Dick oo

dick oo

06/10/2010 11:09:23
Quote Anchor link
ik heb nu deze code van phphulp ubb bar..

maar nu wil ik de cursor/pointer/caret tussen de tags..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<script type="text/javascript">
function wrapText(id,Tag,Tag2) {
    var el = document.getElementById(id);
    
    if (el.setSelectionRange){
        // W3C/Mozilla
        el.value = el.value.substring(0,el.selectionStart)
            + "["+ Tag +"]"
            + el.value.substring(el.selectionStart,el.selectionEnd)
            + "[/"+ Tag2 +"]"
            + el.value.substring(el.selectionEnd,el.value.length);
        document.el.focus();
    } else if (document.selection && document.selection.createRange){
        // IE code goes here
        el.focus();
        var range = document.selection.createRange();
        range.text ="["+ Tag +"]" + range.text + "[/"+ Tag2 +"]";
        document.el.focus();
    }
}
</script>

<input style="font-weight:bold;" type="button" value="B" onClick="wrapText('msg','b','b' );">
<input style="font-style:italic;" type="button" value="I" onClick="wrapText('msg','i','i' );">
<input style="text-decoration:underline;" type="button" value="U" onClick="wrapText('msg','u','u' );">
<input style="text-decoration:line-through;" type="button" value="S" onClick="wrapText('msg','s','s' );">

<br /><br />

<textarea id="msg" cols="20" rows="5"></textarea>
</center>
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.