Color Picker per Javascript Code wird nicht richtig übergeben

Neori

Mitglied
Hallo,
ich arbeite derzeit an einem Emailclienten in PHP.
Nun bin ich dabei den Editor für die spätere Eingabe und Formatierung der Mail.
Ich habe mithilfe dieses scripts mir einen kleinen color picker gebaut:

Code:
function colorPalette(width, height)
{
	var color;
	var r = 0, g = 0, b = 0;
	var rgbList = new Array(6);

	rgbList[0] = '00';
	rgbList[1] = '40';
	rgbList[2] = '80';
	rgbList[3] = 'BF';
	rgbList[4] = 'FF';

	document.writeln('<table cellspacing="1" cellpadding="0" border="0">');

	for (r = 0; r < 5; r++)
	{		
	  document.writeln('<tr>');
		for (g = 0; g < 5; g++)
		{
		  for (b = 0; b < 5; b++)
		  {
			color = String(rgbList[r]) + String(rgbList[g]) + String(rgbList[b]);
			document.write('<td bgcolor="#' + color + '">');
			document.write('<a href="#" onclick="add_bb_color('+color+')"><img src="http://www.tutorials.de/forum/images/spacer.gif" border="0" width="' + width + '" height="' + height + '" alt="#' + color + '" title="#' + color + '" /></a>');
			document.writeln('</td>');
		  }	
		}
		document.writeln('</tr>');
      }
	  
	  document.writeln('</table>');
}

in die Seite eingebunden wird er per:
Code:
<script language="javascript"> colorPalette(10,10) </script>

Funktioniert auch alles ganz prächtig.

Nun soll per Klick auf eine Farbe in die Textarea "body" der Code
Code:
 [ color = # FARBCODE ] [ / color ]
eingefügt werden, was ich mit dieser Funktion zu realisieren versuche:

Code:
function add_bb_color(color)
{
	window.document.mail.body.value+='[ color=#'+color+' ][ /color ]';
}

Ergebnis: bei manchen Farben funktioniert es, bei schwarz allerdings wird nur
Code:
 [ color = # 0 ] [ / color ]
eingefügt, bei anderem wiederum erhalte ich die Nachricht: 'FF4080' ist undefiniert.

Ich hoffe ihr könnt mir weiterhelfen.

mfg Neori
 
Korrigiere mal jene Passage:
Code:
onclick="add_bb_color(\''+color+'\')
..solange der Farbwert nur aus Ziffern besteht, geht die Sache gut, tauchen aber Buchstaben drin auf, gibt es einen JS-Fehler, weil der Farbwert dann als String gequotet werden muss.
 

Neue Beiträge

Zurück