bbcode dmv <select> invoegen

Status
Niet open voor verdere reacties.

looije

Gebruiker
Lid geworden
2 apr 2002
Berichten
203
Beste helpij'ers,

Ik zit met het volgende probleem:

Ik ben bezig met een tekstvak wat ik dmv bbcode wil opmaken. Nu werken de knoppen goed. Maar dat is allen voor bold italy en underscribe. Nu wil ik ook de lettergrote toevoegen dmv een select (dropdown) menu. Hoe kan ik hier de bbcode in het textarea weer laten geven.

voor de knoppen heb ik al het volgende javascript:
Code:
function addTags(Tag,fTag,Message) 
{ 
  var obj = document.form.hometekst; 

  obj.focus(); 

  if (document.selection && document.selection.createRange)  // Internet Explorer 
  { 
sel = document.selection.createRange(); 
if (sel.parentElement() == obj)  sel.text = Tag + sel.text + fTag; 
  } 

  else if (typeof(obj) != "undefined")  // Firefox 
  { 
var longueur = parseInt(obj.value.length); 
var selStart = obj.selectionStart; 
var selEnd = obj.selectionEnd; 

obj.value = obj.value.substring(0,selStart) + Tag + obj.value.substring(selStart,selEnd) + fTag + obj.value.substring(selEnd,longueur); 
  } 

  else obj.value += Tag + fTag; 

  obj.focus(); 
}

html is het volgende:
HTML:
		print "<form action=\"dbindex.php\" method=\"POST\" name=\"form\">\n

			<!-- tekst opmaak --!>
			<input type=\"button\" class=\"buttontekstveld\" onmousedown=\"addTags('[B]','[/B]')\" onmouseover=\"uitleg('Vet')\" value=\"Vet\" style=\"font-weight:bold;\" />\n
			<input type=\"button\" class=\"buttontekstveld\" onmousedown=\"addTags('[I]','[/I]')\" onMouseOver=\"uitleg('Cursief')\" value=\"Cursief\" style=\"font-style:italic;\" />\n
			<input type=\"button\" class=\"buttontekstveld\" onmousedown=\"addTags('[U]','[/U]')\" onMouseOver=\"uitleg('Onderstepen')\" value=\"Onderstrepen\" style=\"text-decoration:underline;\" />\n<br />\n

			<!-- tekst uitlijnen --!>
			<input type=\"button\" class=\"buttontekstveld\" onmousedown=\"addTags('[left]','[/left]')\" onMouseOver=\"uitleg('Links uitlijnen')\" value=\"Left\" />\n
			<input type=\"button\" class=\"buttontekstveld\" onmousedown=\"addTags('[center]','[/center]')\" onMouseOver=\"uitleg('Centreren')\" value=\"Center\" />\n
			<input type=\"button\" class=\"buttontekstveld\" onmousedown=\"addTags('[right]','[/right]')\" onMouseOver=\"uitleg('Rechts uitlijnen')\" value=\"Right\" />\n<br />\n

			<!-- tekst groote --!>
			<select name=\"size\" onchange=\"??????\">\n
				<option value=\"1\">Heel klein</option>\n
				<option value=\"2\">Klein</option>\n
				<option value=\"3\">Normaal</option>\n
				<option value=\"4\">Groot</option>\n
				<option value=\"5\">Heel groot</option>\n
			</select>\n<br />\n

			<!-- uitleg --!>
			<div id=\"knoppenuitleg\"><i>Ga met je muis over een knop om de uitleg hier te zien.</i></div>\n

			<!-- tekst vak --!>
			<textarea name=\"hometekst\" cols=\"50\" rows=\"20\">$tekst</textarea>\n<br />\n

			<input type=\"submit\" value=\"ok\" name=\"tekstsubmit\" class=\"button\" />\n
			<a href=\"dbgerechtengroep.php\"><button class=\"button\">annuleren</button></a>\n
		</form>\n";

php is begrijpelijk, maar javascript is niet echt mijn ding. Wie kan bij op weg helpen???

bvd,
Looije
 
HTML:
<select name="size" onchange="addTags('[SIZE=\"' + this.value + '\"], '[/SIZE]', ]">
  <option value="1">Heel klein</option>\n
  <option value="2">Klein</option>\n
  <option value="3">Normaal</option>\n
  <option value="4">Groot</option>\n
  <option value="5">Heel groot</option>\n
</select>

overigens zou ik [/size] met hoofdletters doen, maar de parser hier op het forum maakt er automatisch kleine letters van ;)

En het lijkt erop dat je dit met PHP echoot, dan zul je de slash nog moeten escapen en quotes ook.
 
Laatst bewerkt:
Bedankt voor je reactie, maar het gaat niet helemaal werken.
Ik denk dat het in het stukje javascript zit.

Misschien een andere functie dan "addTags" toevoegen?
 
Ik zie niet in waarom. Heb je het ergens online staan / kun je het ergens online zetten?
 
Zoals je kunt zien staat dit in de bron:

HTML:
onchange="addTags('[SIZE=" this.value="" +="" ],="" [="" size]="" ,="" ]="">

Dat gaat natuurlijk niet werken...

PHP:
onchange=\"addTags('[SIZE=\\\"' + this.value + '\\\"]', '[/size]', )\">

Er zaten nog twee slordigheidsfoutjes in mijn code, en jij had de slash en quotes niet geescapet.

probeer de code zoals ie hier nu staat in je PHP echo te plakken.
 
noop nog steeds niet...

in de bron vind je trouwens geen backslash voor de quote, geeft alleen html weergave weer
 
Waar komen toch al die =-tekens vandaan?

Je moet gewoon zorgen dat dit:

HTML:
<select name="size" onchange="addTags('[SIZE=\"' + this.value + '\"]', '[/size]', ]">

in de bron komt. Hoe je verder je quotes escapet en zo moet je maar even kijken, maar waar al die =-tekens vandaan komen vraag ik me af.
 
Ik zie dit in de bron:
HTML:
onchange="addTags('[SIZE=\"' + this.value + \'"]', '[/size]', )">

Dat is hetzelfde als dat jij zegt dat er in de bron moet staan. En toch doet hij het nog niet. Zie verder geen -= in de bron.
 
Laatst bewerkt:
ik zie dit in je bron:

HTML:
addTags('[SIZE=" this.value="" +="" ]="" [="" size]="" ,="" )=""

maar wat je nu dan hebt is bijna goed. Er moet alleen nog een backslash voor de quote na SIZE= ( '[SIZE=\"' )

als je het aangepast hebt, kun je dan de aangepaste versie even online zetten?
 
online

in de bron staat nu:
HTML:
onchange="addTags('[SIZE=\"' + this.value + '\"]', '[/size]', )">
 
Laatst bewerkt:
Oké, wat ik heb gedaan:

[JS]var obj = document.getElementById('hometekst'); [/JS]

in plaats van:

[JS]
var obj = document.form.hometekst;
[/JS]

de onchange bij de select weggehaald en dit in het script toegevoegd:

[JS]
window.onload = function() {
document.getElementById('sizeSelect').onchange = function(){ addTags('[SIZE"' + this.value + '"]', '[/SIZE]'); }
}
[/JS]

en de select

HTML:
id="sizeSelect"

gegeven. En het werkt.

[EDIT]
Zie http://www.erikbooy.nl/Overige/testlooije.php
[/EDIT]
 
Nog geen idee wat je nu heb gedaan, maar het werkt. Ben javascript leek, maar ga het zeker goed onderzoeken.

Onwijs bedankt, het werkt. Weer wat geleerd :thumb::thumb::thumb:
 
Laatst bewerkt:
En of het werkt...

Nogmaals bedankt, hier ben ik echt al een week naar het zoeken. Hoe ik dit voor elkaar moet krijgen.

Top :thumb:
Lang leven Helpmij en de Helpmij'ers (ErikBooy007)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan