JavaScript Problem

Ich habe vor kurzem angefangen JavaScript zu programmieren.
Jetzt habe ich ein kleines Problem und ich habe keine Ahnung was los ist.
Hier der Quelltext:
<html>
<head>
<script type="text/javascript">
<!--
function change(){
switch(window.document.faca.farbe.value){
case "rot":
document.bgColor="#ff0000";
break;
case "gruen":
document.bgColor="#00ff00";
break;
case "blau":
document.bgColor="#0000ff";
break;
}
}
-->
</script>
<title>Hintergrundfarbe</title>
</head>
<body>
<h1 align="center">Bitte w&auml;hen Sie eine Hintergundfarbe</h1>
<form  method="get" name="faca" onsubmit="change()">
<input type="radio" name="farbe" value="rot">Rot<br>
<input type="radio" name="farbe" value="gruen">Gr&uuml;n<br>
<input type="radio" name="farbe" value="blau">Blau<br><br>
<input type="submit" value="OK" >
</form>
</body>
</html>
Herzlichen Dank Pigu

17.03.2006 16:33


Hallo Pigu,

Probier mal das, ist etwas einfacher gestrickt.

<html>
<head>
<script type="text/javascript">
<!--
function changeBG(farbe){
document.bgColor = farbe;
}
-->
</script>
<title>Hintergrundfarbe</title>
</head>
<body bgcolor="#FFFFFF"> 
<h1 align="center">Bitte w&auml;hen Sie eine Hintergundfarbe</h1>
<a href="#" onMouseOver="javascript:changeBG('red')">Rot</a>
<a href="#" onMouseOver="javascript:changeBG('green')">Grün</a>
<a href="#" onMouseOver="javascript:changeBG('blue')">Blau</a>
</body>
</html>

Probier mal das, ist etwas einfacher gestrickt.

Unter http://www.web-toolbox.net/webtoolbox/farben/bgcolor-pulldown.htm gibt es auch ein fertiges mit Formularen.

Warum Deins nicht geht, sehe ich auch nicht auf die Schnelle.
Aber die anderen Lösungen sind einfacher lächel

Dort kannst Du gleich im Link bzw. Formular den gewünschten Wert für die Farbe mitgeben.

hth
mark

17.03.2006 16:58 | geändert: 17.03.2006 16:58


ja danke...
mein ziel war es hat, das ganze mit einem formular hinzubringen...
ich habe den link angesehen...aber da ist noch js dabei, das ich nicht begrife...
wenn kemand den fehler bei meinem script findet, postet bitte die antwort...
pigu

17.03.2006 17:24


Ja dann eben im Formular zwinker

<html>
<head>
<script type="text/javascript">
<!--
function changeBG(farbe){
document.bgColor = farbe;
}
-->
</script>
<title>Hintergrundfarbe</title>
</head>
<body> 
<h1 align="center">Bitte w&auml;hen Sie eine Hintergundfarbe</h1>
<form  method="get" name="faca">
<input type="radio" name="farbe" value='red' OnClick="changeBG('red')">Rot<br>
<input type="radio" name="farbe" value='green' OnClick="changeBG('green')">Gr&uuml;n<br>
<input type="radio" name="farbe" value='blue' OnClick="changeBG('blue')">Blau<br><br>
</form>
</body>
</html>



17.03.2006 17:36


aha;)ok ich werde es versuchen...dann habe ich eben kein submit button...und dann kann ich auch links machen...;)
(bin eben in solchen sachen ein perfektionist...)
habe nioch mals etwas gemacht...vielleciht kannst du da sagen wo der wurm ist:
<html>
<head>

<script type="text/javascript">
<!--
function change(farbe){
document.bgColor="farbe";


}
-->
</script>

<title>Hintergrundfarbe</title>
</head>
<body>
<h1 align="center">Bitte wähen Sie eine Hintergundfarbe</h1>
<form  method="get" name="faca" onsubmit="change(this.farbe.value)">
<input type="radio" name="farbe" value="#ff0000">Rot<br>
<input type="radio" name="farbe" value="#00ff00">Grün<br>
<input type="radio" name="farbe" value="#0000ff">Blau<br><br>

<input type="submit" value="OK" >
</form>
</body>
</html>
lg pigu

17.03.2006 17:42


hallo,
du hast einen fehler in deiner function. farbe darf nicht in "" stehen, da es sont ein string ist und nicht die variable, die du übergeben hast..

richtig:
function change(farbe){
document.bgColor=farbe; }

31.08.2006 01:51


zusätzlich zu dem fehler mit der farbe gibt es noch mehr fehler:

<form method="get" name="faca" onsubmit="change(this.farbe.value)">

das funktioniert nicht, weil die funktion nicht auslesen kann, welcher radiobutton überhaupt ausgewählt ist und somit kein wert übergeben wird.

und wenn man das korrigiert hat, dann fällt noch auf, dass die ganze sache mit einem submit-button nicht geht. bei dem submit-button wird die farbe nur ganz kurz geändert. besser ist ein richtiger button.

hier nochmal der korrigierte und funktionierende quelltext:
<html>
	<head>
		<script type="text/javascript">
			<!--
			var a = "#ffffff";
			function change(){
				document.bgColor=a;
			}
			-->
		</script>
		<title>Hintergrundfarbe</title>
	</head>
	<body>
		<h1 align="center">Bitte w&auml;hen Sie eine Hintergundfarbe</h1>
		<form  name="faca">
			<input type="radio" name="farbe" value="rot" onclick="a = '#ff0000'">Rot<br>
			<input type="radio" name="farbe" value="gruen" onclick="a = '#00ff00'">Gr&uuml;n<br>
			<input type="radio" name="farbe" value="blau" onclick="a = '#0000ff'">Blau<br><br>
			<input type="button" value="OK" onclick="change(a);">
		</form>
	</body>
</html>

wenn ein radio-button ausgewählt wird, ändert sich dementsprechend der wert der variable a. somit ist der farbwert in a gespeichert und kann genutzt werden.

lg susi

19.07.2007 12:42


Beitrag schreiben (als Gast)

Beim Verfassen des Beitrages bitte die Forenregeln beachten.

[BBCode-Hilfe]