Beste phphulpjes,

Ik was even aan 't kloten met JS maar wil niet echt lukken. (Niet veel verstand van JS).


function bb(sUBB, eUBB){ 
 var objTxtArea = document.forms['bericht'].elements['bericht'];
 if (!eUBB){
  eUBB = ','+sUBB+''; // Smileys..
  sUBB = '';
 }
 if (objTxtArea.selectionStart || objTxtArea.selectionStart == 0){
  var ss = objTxtArea.selectionStart;
  var se = objTxtArea.selectionEnd;
  objTxtArea.value = objTxtArea.value.substring(0, ss) + sUBB + objTxtArea.value.substring(ss, se) + eUBB + objTxtArea.value.substring(se, objTxtArea.value.length);

 }else if (objTxtArea.createTextRange){
  objTxtArea.focus();	//Needs to get focus to prevent other objects to get ubb codes
  document.selection.createRange().text = sUBB + document.selection.createRange().text + eUBB;
  
 }
}


Ik heb dit stukje uit een JS script gehaalt (mogelijk kan er nog wat dingen uit) en een link op een pagina die er zo uit ziet:
<?php echo "<a href=\"javascript:bb('".$gebruikersnaam."')\">".$gebruikersnaam."</a>"; ?>
met een input veld daaronder.
Wat ik wil is dat als je op de link klinkt deze worden toegevoegd aan het input veld (zover doet ie 't) als ik nog een keer klik komt de volgende naam erachter met een komma ertussen! Maar Dat laatste lukt niet echt. Hij moet dus de 1e keer geen komma voor zetten. En de 2e keer wel!

Zou iemand me kunnen en willen helpen?

Bvd!
Gebruik een variabele die je op 0 of 1 zet.
Kijk of er al inhoud in je tekstveld staat, zoja, dan een komma, en anders geen komma.
Ik kan trouwens aanraden m.b.t. javascript niet met veldnamen te werken, maar de velden een ID te geven.

Bovendien voegt dit (voor zover ik overzie) script tekst toe wat je geselecteerd hebt. Hdet lijkt me echter meer wenselijk om ALTIJD de nieuwe naam achteraan te plaatsen?!

Een code wordt bovendien dan ook een stuk simpeler.. Zo iets?



function addToTextarea(str)
{ 
	var oTextArea = document.getElementById('bericht');
	var value = oTextArea.value;

	if(value != '')
	{
		value = value + ', ' + str;
	}
	else
	{
		value = str;
	}

	oTextArea.value = value;
}



Ik hoop dat je d'r wat mee kan ;)
Pholeron schreef op 11.07.2006 09:11
Ik kan trouwens aanraden m.b.t. javascript niet met veldnamen te werken, maar de velden een ID te geven.


Zeker weten! document.getElementById heet niet voor niets zo.
Bedankt voor de reacties! :)

@Pholeron, Hoe roep ik deze aan? of hij werkt niet?
De link: <?php echo "<a href=\"javascript:addToTextarea('".$gebruikersnaam."')\">".$gebruikersnaam."</a>"; ?>

Reageren