webForumDet fria alternativet

Problem med Script i Mozilla

2 svar · 355 visningar · startad av jazzil

jazzilMedlem sedan maj 2003150 inlägg
#1

Tjena, jag har problem med ett script i mozilla firefox 9.x
Jag kan inte se något som gör att det skulle bli fel.

<html>
	<head>
		<title>
			Mekk
		</title>
	<script language="text/javascript" >
	var f = 1;
	function ViewBox()
		{
		var HejBox = document.getElementById('hej');
		var ion = (++f % 2 == 0); 
		HejBox.style.height = (ion ? '20' : '0'); 
		HejBox.style.visibility = (ion ? 'visible' : 'hidden'); 
		HejBox.style.width = (ion ? '100' : '0'); 
		HejBox.style.padding = (ion ? '0' : '0'); 
		}	
	</script>
	</head>
	<body>
		<form name="mekk" action="" method="post">
			<input id="Hello" type="checkbox"  OnClick="ViewBox();" />Hide<br />
			<input name="hej" Disabled="disabled" style="height: 0px; visibility: hidden; width: 0px; padding: 0px;" value="Hej" />
			Lite text
		</form>
	</body>
</html>

Och när jag kö den i IE så funkar den men IE vägra sätta 0 i height på min textbox.

dectgapMedlem sedan sep. 20021 542 inlägg
#2

getElementById() hämtar, som namnet antyder, ett element med ett visst id - inte ett element med ett visst namn.

Ändra därför

<input name="hej" [...]

till

<input id="hej" [...]

Sedan måste du, om värdet inte är 0, ange enhet för width och height:

	function ViewBox()
		{
		var HejBox = document.getElementById('hej');
		var ion = (++f % 2 == 0); 
		HejBox.style.height = (ion ? '20px' : '0'); 
		HejBox.style.visibility = (ion ? 'visible' : 'hidden'); 
		HejBox.style.width = (ion ? '100px' : '0'); 
		HejBox.style.padding = (ion ? '0' : '0'); 
		}

Dessutom får du ändra

<script language="text/javascript" >

till

<script type="text/javascript" >
jazzilMedlem sedan maj 2003150 inlägg
#3

Tack!

Jag som varit slarvig igen :r

Genererad på 384 ms · cache AV · v20260730165559-full.f96bc7eb