suche Hilfe: Farbeingabe als RGB-Werte mit Vorschau
Miroculix
- javascript
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!!!
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
Danke, Andreas!
Das funktioniert prima.
Michael