Auf dieser Seite stelle ich Schritt für Schritt ein paar Möglichkeiten 
  vor, wie man mit Textfeldern und Buttons in Formularen die Hintergrundfarbe 
  ändert. Ich habe hier im Großen und Ganzen auf Erklärungen verzichtet, 
  da alle Themen zuvor abgehandelt wurden. Zu jedem Beispiel habe ich den Javascript 
  Quelltext nochmal extra beigefügt. Die Funktionen, zwischen den Script 
  Tags aus dem Head Bereich erscheinen jeweils oberhalb des Formulars. Der Quelltext 
  des Formulars steht darunter. 
  
  Die Hintergrundfarbe wird in Javascript mit folgendem Befehl geändert:
  document.getElementsByTagName("body")[0].style.backgroundColor="00ff00";
  Die Angabe erfolgt in Hexadezimal Werten, allerdings ohne das Gatterzeichen 
  (#).
  Der Wert muß in jedem Fall in Anführungszeichen stehen. In einigen 
  Beispielen tut er das nicht, weil es sich um Zeichenketten handelt, die dynamisch 
  konstruiert werden oder aus Textfeldern stammen.
  
  Der Eingabewert eines Textfeldes namens meintextfeld aus dem Formular namens 
  meinformular kann folgendermaßen zugewiesen werden:
  document.meinformular.meintextfeld.value 
 Buttonklick ändert die Farbe, dann erscheint sie im Textfeld als Hexadezimalwert.
<form name="form1">
  <input type="text" name="bgfarbe" size="10">
  <input type="button" value="Farbe beige" onClick="farbegreen()">
  </form> 
function eingabefarbe() {
  document.getElementsByTagName("body")[0].style.backgroundColor=document.form2.farbfeld.value;
  document.form1.bgfarbe.value=document.getElementsByTagName("body")[0].style.backgroundColor;
  } 
 Gebe hier einen Hexadezimalwert für die Hintergrundfarbe ein, z.B.: #C0FFEE 
  #BACAD1 #CACCA0 #5AEFDE
  Beachte, dass oben im ersten Textfeld die Farbe angezeigt wird.
<form name="form2">
  <input type="text" name="farbfeld" size="10">
  <input type="button" value="Hexwert eingeben" onClick="eingabefarbe()">
  </form> 
function graustufen() {
  var grau = document.form3.graufeld.value;
  document.getElementsByTagName("body")[0].style.backgroundColor =  "rgb("+ grau +"%,"+ grau +"%, " +grau+"%)";
  } 
 Gebe hier eine Graustufe von 1 bis 100 ein.
<form name="form3">
  <input type="text" name="graufeld" size="5">
  <input type="button" value="Graustufe eingeben" onClick="graustufen()">
  </form> 
Erklärung:
  Dieses Beispiel war vor kurzem noch eine sehr komplizierte Angelegenheit. Auch das Eingeben mittels RGB Werten oder HSB Werten setzte ?u?erst komplizierte Berechnungen voraus. Dank der CSS3 Farbwerte ist das nun kein Problem mehr, auch Transparenzwerte kann man hier einsetzen.
function rgbfarben() {
  var rot=	document.form4.rfeld.value;
  var gruen =	document.form4.gfeld.value;
  var blau = 	document.form4.bfeld.value;
  document.getElementsByTagName("body")[0].style.backgroundColor = "rgb("+ rot +"%,"+ gruen +"%, " +blau+"%)";
}
Erkl?rung:
So sah die Programmierung aus, bevor mit der CSS3 Farbwertzuweisung mittels rgb eine Farbe bestimmen konnte.
function rgbfarben() {
  var X = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
  var r1 = 0, r2 = 0, g1 = 0, g2 = 0, b1 = 0, b2 = 0;
  
  for(r = 0; r < document.form4.rfeld.value; r++){
  r2 = r2 + 1;
  if(r2 % 16 == 0) {
  r2 = 0;
  r1 = r1 + 1; 
  }
  } 
 for(g = 0; g < document.form4.gfeld.value; g++){
  g2 = g2 + 1;
  if(g2 % 16 == 0) {
  g2 = 0;
  g1 = g1 + 1; 
  }
  }
  for(b = 0; b < document.form4.bfeld.value; b++){
  b2 = b2 + 1;
  if(b2 % 16 == 0) {
  b2 = 0;
  b1 = b1 + 1; 
  }
  }
  
  document.getElementsByTagName("body")[0].style.backgroundColor = X[r1] + X[r2] + X[g1] + X[g2] + X[b1] + X[b2];
  }
 Gebe hier in die Farbfelder jeweils RGB-Werte von 0 bis 255 ein.
<form name="form4">
  <input type="text" name="rfeld" size="5">
  <input type="text" name="gfeld" size="5">
  <input type="text" name="bfeld" size="5">
  <input type="button" value="RGB eingeben" onClick="rgbfarben()">
  </form>
  
es folgt ein Linkmenue mit einer Formular Auswahlliste