Miroculix: suche Hilfe: Farbeingabe als RGB-Werte mit Vorschau

Folgender Code soll RGB-Werte (im Bereich von 0-255) in 3 Feldern akzeptieren. Nach der Eingabe (onChange), soll die Funktion change_td() aufgerufen werden. Das Tabellenfeld rechts neben den RGB-Werten soll die Hintergrundfarbe entsprechend anpassen.

-------------------------------------------

<script type="text/javascript">
function change_td ()
{
// -0 für Erzwingen der Typumwandlung nach Zahl
rgb1 = document.eingabeform.bg_color_r.value - 0;
rgb2 = document.eingabeform.bg_color_g.value - 0;
rgb3 = document.eingabeform.bg_color_b.value - 0;

if (rgb1 < 16) fill_1 = '0'; else fill_1 = '';
if (rgb2 < 16) fill_2 = '0'; else fill_2 = '';
if (rgb3 < 16) fill_3 = '0'; else fill_3 = '';

var elem=document.getElementById(td_id);
elem.setAttribute ("style",
"background-color:#" + fill_1 + rgb1.toString(16) + fill_2 + rgb2.toString(16) + fill_3 + rgb3.toString(16),
"false" );
}
</script>

<table>
<tr>
<td ><p>rot (0-255)</p></td>
<td ><p>grün (0-255)</p></td>
<td ><p>blau (0-255)</p></td>
<td ><p>Vorschau</p></td>
</tr>

<tr>
<td >
<p><input type=text name="bg_color_r" size="3" onchange="java script:change_td ();"></p>
</td>
<td >
<p><input type=text name="bg_color_g" size="3" onchange="java script:change_td ();"></p>
</td>
<td >
<p><input type=text name="bg_color_b" size="3" onchange="java script:change_td ();"></p>
</td>
<td id="td_bg_color">
<p> </p>
</td>
</tr>
</table>

-------------------------------

Mein Problem: Unter Mozialla funktioniert das einwandfrei. Wieso nicht im Internet Explorer?

Habe schon tausend Sachen ausprobiert. Bin am Verzweifeln. Bitte helft mir!!!

  1. Hi,

    Folgender Code soll RGB-Werte (im Bereich von 0-255) in 3 Feldern akzeptieren. Nach der Eingabe (onChange), soll die Funktion change_td() aufgerufen werden. Das Tabellenfeld rechts neben den RGB-Werten soll die Hintergrundfarbe entsprechend anpassen.


    <script type="text/javascript">
    function change_td ()
    {

    die nächsten Zeilen:

    // -0 für Erzwingen der Typumwandlung nach Zahl
    rgb1 = document.eingabeform.bg_color_r.value - 0;
    rgb2 = document.eingabeform.bg_color_g.value - 0;
    rgb3 = document.eingabeform.bg_color_b.value - 0;
    if (rgb1 < 16) fill_1 = '0'; else fill_1 = '';
    if (rgb2 < 16) fill_2 = '0'; else fill_2 = '';
    if (rgb3 < 16) fill_3 = '0'; else fill_3 = '';

    hau weg.

    var elem=document.getElementById(td_id);
    elem.setAttribute ("style",
    "background-color:#" + fill_1 + rgb1.toString(16) + fill_2 + rgb2.toString(16) + fill_3 + rgb3.toString(16),

    • ")";

    "false" );

    elem.style.backgroundColor = "rgb(" + parseInt(rgb1) + "," + parseInt(rgb2) + "," + parseInt(rgb3) + ")";

    }
    </script>

    <p><input type=text name="bg_color_r" size="3" onchange="java script:change_td ();"></p>

    Wer hat mit dem Schmarrn angefangen, "javascript:" in eventhandler zu schreiben?
    Eventhandler sind immer in der default-Scriptsprache der Seite.
    Wenn diese Sprache nicht explizit gesetzt wird, ist das immer Javascript.

    <p><input type=text name="bg_color_g" size="3" onchange="java script:change_td ();"></p>

    dito.

    <p><input type=text name="bg_color_b" size="3" onchange="java script:change_td ();"></p>

    dito.

    Andreas

    1. Danke, Andreas!
      Das funktioniert prima.
      Michael