JavaScript: Wo liegt der Fehler?

m@xx

Cadet 4th Year
Registriert
Feb. 2007
Beiträge
106
Hallo Luete, ich möchte in einem Formular ein paar Checkboxes einbauen. Wenn man eine aktiviert, sollte dahinter ein Textfeld erscheinen, indem ich was eintippen kann. Ich hab es mal versucht, aber irgendwie funzt des nicht.
Was hab ich falsch gemacht?

HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Summet</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<form name="formular">
	<table width="100%"  border="0" cellspacing="0" cellpadding="0">
	  <tr>
		<td><input type="checkbox" name="Feld1" value="Hallo" onClick="document.getElementbyID('Betrag').style.visibility = 'visible';">Test1Feld</td>
		<td width="81%"><div id="Betrag" style="visibility:hidden;">Betrag: <input type="text" name="n" size="10"></div></td>
	  </tr>
	</table>
</form>
</body>
</html>

MfG
m@xx
 
Versuchs mal mit Display... mit visibility hatte ich auch des öfteren meine Probleme.

Code:
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
	  <tr>
		<td><input type="checkbox" name="Feld1" value="Hallo" onClick="document.getElementbyID('Betrag').style.display= '';">Test1Feld</td>
		<td width="81%"><div id="Betrag" style="display:none;">Betrag: <input type="text" name="n" size="10"></div></td>
	  </tr>
	</table>

Edit
Vergiss es... liegt an deinem Befehl :)

Es muss heißen, document.getElementById('Betrag') ... habs getestet, bei mir funktioniert es. Schau mal in die Fehlerkonsole, wenn du FF benutzt, da wird dir der Fehler angezeigt.
 
Zuletzt bearbeitet: (Fehler)
Schon mal Danke. Aber wie kann ich das Feld wieder ausblenden lassen, wenn ich den Hacken bei der Checkbox entferne.

MfG
m@xx
 
Dazu kannst du dir ein Funktion schreiben in der du den Status überprüfst und entsprechen reagierts.
 
Das hab ich jetzt gemacht!
Jetzt hab ich nur noch ein kleines Problem: Des ganze Skript brauch ich für mehere Checkboxes (>30). Daher will ich mit Variablen arbeiten. Jetzt weiß ich bloß nicht wie ich in meinem JAvascript in
document.formular.FondVariable.checked == true​
die Variable einbau.
Vorher hatte ich document.formular.Fond1.checked == true. Die 1 soll jetzt durch die Variable ersetzt werden. Aber wie mache ich das in diesem Fall?

MfG
m@xx
 
Probiers mal so:
HTML:
elem = document.getElementById('Fond'.id);
elem.checked == true

Ist nicht getestet, mein aber das ich das auch mal so gemacht habe.
 
Das ist mal das ganze Skript. Funzt aber irgendwie nicht.
HTML:
<script language="JavaScript">
function Freischalten(Position){
	var Pos = Position;
	elem1 = document.getElementById('Fond'.Pos);
	elem2 = document.getElementById('Fond'.Pos.'Be');
	if (elem.checked == true){
		elem2.disabled = false;
	}
	else {
		elem2.disabled = true;
	}
}
</script>


Hier das HTML

HTML:
<fieldset>
	<legend>Fonds</legend>
		<table width="100%"  border="0" cellspacing="0" cellpadding="0">
		  <tr>
		    <td class="Formular"><input type="checkbox" name="Fond1" value="H" onClick="Freischalten(1);">HCI Reak Estate Growth</td>
			<td width="81%" class="Formular">Betrag: <input type="text" name="Fond1Be" size="10" disabled></td>
	      </tr>
		  <tr>
		    <td class="Formular"><input type="checkbox" name="Fond2" value="H" onClick="Freischalten(2);">PPP</td>
			<td width="81%" class="Formular">Betrag: <input type="text" name="Fond2Be" size="10"disabled></td>
	      </tr>
		  <tr>
		    <td class="Formular"><input type="checkbox" name="Fond3" value="H" onClick="Freischalten(3);">JPM</td>
			<td width="81%" class="Formular">Betrag: <input type="text" name="Fond3Be" size="10"disabled></td>
	      </tr>
		  <tr>
		    <td width="19%" class="Formular"><input type="checkbox" name="Fond4" value="H" onClick="Freischalten(4);">Greiff</td>
			<td width="81%" class="Formular">Betrag: <input type="text" name="Fond4Be" size="10"disabled></td>
		  </tr>
		</table>
</fieldset>
MfG
m@xx
 
Zurück
Oben