[JS] Formulier, selected probleem

Pagina: 1
Acties:

  • imp4ct
  • Registratie: November 2003
  • Laatst online: 29-10 10:59
Zal maar meteen met de deur in huis vallen. Ik zou graag in m'n eigen CMS posting systeem de functionaliteit gedeeltelijk overnemen van hoe het hier werkt op Tweakers. Nu was ik bezig om ervoor te zorgen dat wanneer er op een knopje werd gedruk de BB code al in de textarea zou komen te staan.

Na wat zoeken en veel prullen is me dit dan toch gelukt. Nu wat het probleem is, is dat ik dus moeilijk aan javascript uitkan. Wat mijn volgende doel dus is, is dat wanneer een gebruiker wat tekst selecteerd en hij klikt dan op een knop dat dus de BB-taggs rond deze tekst komen te staan. Maar dat lukt me dus niet.

Zou iemand me dat misschien even kunnen uitleggen hoe ik dit moet doen. Ik heb hier de JS tutorial al even doorgelezen, maar die basis heb ik wel door denk ik.


code:
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
function putTagBB(bb)
{
  switch(bb)
  {
    case "bold":
    {
      document.post_form.post_textarea.value += '[b]'+'[/b]';
      break;
    }
    case "italic":
    {
      document.post_form.post_textarea.value += '[i]'+'[/i]';
      break;
    }
    case "underline":
    {
      document.post_form.post_textarea.value += '[u]'+'[/u]';
      break;
    }
    case "super":
    {
      document.post_form.post_textarea.value += '[sup]'+'[/sup]';
      break;
    }
    case "sub":
    {
      document.post_form.post_textarea.value += '[sub]'+'[/sub]';
      break;
    }
  }
  document.post_form.post_textarea.focus();
}


link : http://www.inhetleger.be/cms

[ Voor 10% gewijzigd door imp4ct op 30-11-2006 00:20 ]

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


  • MueR
  • Registratie: Januari 2004
  • Nu online

MueR

Admin Devschuur® & Discord

is niet lief

Ik zou eens kijken naar een editor als FCKedit, en die gewoon even goed bestuderen. FCKedit is een van de populairste editors op het moment, die kan zeker veel voor je doen. Anders is het downloaden van een andere editor waar zo'n mogelijkheid gebruikt wordt een optie. Bijvoorbeeld een forum als phpBB.

Anyone who gets in between me and my morning coffee should be insecure.


  • imp4ct
  • Registratie: November 2003
  • Laatst online: 29-10 10:59
't Is dat ik niet graag met zo van die editors werk. Ik wil zelf de controle hebben en die editors zijn enorm uitgebreid, wat in mijn geval totaal niet nodig is. 'k Wil dus geen WYSIWYG editor. 'k Wil gewoon het voor de gebruiker iets gemakkelijker maken om met UBB code te werken.

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


  • MueR
  • Registratie: Januari 2004
  • Nu online

MueR

Admin Devschuur® & Discord

is niet lief

Ik zeg ook niet dat je zoiets letterlijk moet kopieëren, ik geef je een suggestie om eens naar bijvoorbeeld de toch relatief simpele editor van phpBB te kijken. Die doet precies wat jij wil, en daar kan je meer van leren dan wanneer het hier wordt voorgekauwd.

Anyone who gets in between me and my morning coffee should be insecure.


  • imp4ct
  • Registratie: November 2003
  • Laatst online: 29-10 10:59
Was eerst in de source code gaan kijken van phpBB maar daar vond ik niets terug. Dan gewoon forum even in de code gaan kijken en ik denk dat ik het gevonden heb. 't Werkt toch allesinds, dus na 2 dagen van zoeken toch eindelijk wat gevonden.

Thx for the tip in ieder geval. Zal ook even de code posten waarmee het dus bij mij werkt, deze werkt wel enken FF, misschien iemand een idee hoe het komt dat dit niet juist werkt in IE ?

JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<script>
function putTagBB(tag)
{
  var open = '['+tag+']';
  var close = '[/'+tag+']';
  
  var postText = document.post_form.post_textarea;
  var selLength = postText.textLength;
  var selStart = postText.selectionStart;
  var selEnd = postText.selectionEnd;
  
  //all text before selection
  var s1 = (postText.value).substring(0,selStart);
  //selected text
  var s2 = (postText.value).substring(selStart, selEnd)
  //all text after selection
  var s3 = (postText.value).substring(selEnd, selLength);
    
  postText.value = s1 + open + s2 + close + s3;
  postText.focus();
}
</script>

[ Voor 8% gewijzigd door imp4ct op 30-11-2006 12:40 ]

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


  • imp4ct
  • Registratie: November 2003
  • Laatst online: 29-10 10:59
Iemand een idee hoe ik dit kan laten werken in IE ?

Modbreak:Zaken die we ook duidelijk niet op prijs stellen: Je probleem binnen 24 uur met een 'schopreactie' onder de aandacht brengen.

Let daar even op wil je? :)

[ Voor 69% gewijzigd door BtM909 op 30-11-2006 12:45 ]

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Kijk eens even goed hoe GoT het heeft gedaan in de source files ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • imp4ct
  • Registratie: November 2003
  • Laatst online: 29-10 10:59
BtM909 schreef op donderdag 30 november 2006 @ 12:47:
Kijk eens even goed hoe GoT het heeft gedaan in de source files ;)
Jah, dat heb ik dus al gedaan :). En ik vind ook wel bij de knopje de "onClick" command, maar als ik dan naar het JavaScript zoek, dan vind ik het niet. Dus 'k zou dan een directe link moeten hebben naar de JavaScripts.

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


  • user109731
  • Registratie: Maart 2004
  • Niet online
imp4ct schreef op donderdag 30 november 2006 @ 12:55:
[...]


Jah, dat heb ik dus al gedaan :). En ik vind ook wel bij de knopje de "onClick" command, maar als ik dan naar het JavaScript zoek, dan vind ik het niet. Dus 'k zou dan een directe link moeten hebben naar de JavaScripts.
Kom op... Ik weet niet of ik hier die functie mag posten, maar 2 hints:
  • Pak van alle script tags het src-attribuut
  • Combineer die met de base href
Of gebruik een firefox-extensie als de webdeveloper-toolbar waarmee je de scripts gewoon kan bekijken.

  • imp4ct
  • Registratie: November 2003
  • Laatst online: 29-10 10:59
Hmm, dat is al iets anders :)

[ Voor 85% gewijzigd door imp4ct op 30-11-2006 13:12 ]

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Edit: daar mag je wel in, hint: base href.

Extragratisj:

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
function insertcode(tag)
{
    var textarea = document.getElementById("message");
    var open = "[" + tag + "]";
    var close = "[/" + tag + "]";

    // IE
    if(!textarea.setSelectionRange) {

        var selected = document.selection.createRange().text; 
        
        if(selected.length <= 0) {
            textarea.value += open + close;
        } else {
            document.selection.createRange().text = open + selected + close; 
        }

    // Mozilla
    } else {

        var pretext = textarea.value.substring(0, textarea.selectionStart);
        var codetext = open + textarea.value.substring(textarea.selectionStart, textarea.selectionEnd) + close;
        var posttext = textarea.value.substring(textarea.selectionEnd, textarea.value.length)

        textarea.value = pretext + codetext + posttext;
    }
    
    textarea.focus();
}

Paar uurtjes aan geprutst, en van diverse editors/fora afgekeken, werkt aardig.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Omdat dat ook niet de juiste locatie is ;)

http://gathering.tweakers...s/tweakers/js/j.js?v=194a

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • imp4ct
  • Registratie: November 2003
  • Laatst online: 29-10 10:59
Straks even proberen, bedankt in ieder geval. Ga ook de code van Tweakers nu eens door lezen. Sorry voor de stomme vragen :)

Na de tip van de "base" geraakte ik er wel in. Maar op't werk blokkeert ie. Dus straks nog eens thuis bekijken.

[ Voor 31% gewijzigd door imp4ct op 30-11-2006 13:17 ]

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


  • imp4ct
  • Registratie: November 2003
  • Laatst online: 29-10 10:59
Heb de JS file hier open gekregen. Maar daar staat deze functie toch niet in beschreven hoor :). Functie die beschreven staat in de code is "putExt", maar die staat daar jammer genoeg niet in.

Wat begrijp je niet van mijn modbreak in imp4ct in "[JS] Formulier, selected probleem" ?

[ Voor 12% gewijzigd door BtM909 op 30-11-2006 14:23 ]

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


  • user109731
  • Registratie: Maart 2004
  • Niet online
imp4ct schreef op donderdag 30 november 2006 @ 13:29:
[...]


Heb de JS file hier open gekregen. Maar daar staat deze functie toch niet in beschreven hoor :). Functie die beschreven staat in de code is "putExt", maar die staat daar jammer genoeg niet in.
Het is deze ;)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

imp4ct schreef op donderdag 30 november 2006 @ 13:29:
[...]


Heb de JS file hier open gekregen. Maar daar staat deze functie toch niet in beschreven hoor :). Functie die beschreven staat in de code is "putExt", maar die staat daar jammer genoeg niet in.

Wat begrijp je niet van mijn modbreak in imp4ct in "[JS] Formulier, selected probleem" ?
Dan probeer je toch die andere... Ik heb even jouw js file gebruikt met een andere base href... Nogmaals zelf inzet is ook iets wat wij van onze users verwachten... Of verwacht jij dat wij alles voor je voorkauwen?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • imp4ct
  • Registratie: November 2003
  • Laatst online: 29-10 10:59
BtM909 schreef op donderdag 30 november 2006 @ 14:24:
[...]

Dan probeer je toch die andere... Ik heb even jouw js file gebruikt met een andere base href... Nogmaals zelf inzet is ook iets wat wij van onze users verwachten... Of verwacht jij dat wij alles voor je voorkauwen?
Jah goed, maar je kan niet alles weten. Sorry dat ik niet zo snel ben als gij ze... Anywayzz, het is nu waarschijnlijk opgelost. Ik heb nu alle info, dus ik geraak er wel uit, bedankt!

En die modbreak had ik totaal niet gezien... stond buiten mijn scherm :s

[ Voor 6% gewijzigd door imp4ct op 30-11-2006 14:43 ]

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600

Pagina: 1