webForumDet fria alternativet

Disabled forms - Dölj istället för att inaktivera?

JavaScript

3 svar · 316 visningar · startad av niNe

Medlem sedan maj 2005138 inlägg
Frågan#1

Hejsan!

Ska försöka förklara detta så oluddigt som möjligt.

Har ett litet enkelt javascript som enablar fomulärfält om det är så att vissa radiobuttons aktiveras. Har ett fast fomulär med alla fält i. Man ser alltså alla fält, men kan inte fylla i något då alla är disabled. Sedan om man klickar i en radiobutton (t.ex. Bildskärm) så enablas vissa formulärfält som gäller just för just "Bildskärm". Resten blir inaktiva.

Min fundering är: Kan man dölja vissa formulärfält försvinner helt istället för att inaktivera dom? Alternativt att färga de formulärfält som är enablade.

Hoppas ni förstod ...

[EDIT]
Har nu lyckats dölja fälten genom document.form.fältnamn.style.display="none";
Skulle dock vilja ha bort texten som står efter formulärfältet också... Går det?

//Christoffer

Medlem sedan okt. 20001 285 inlägg
#2

hmm .. jag vet inte om det här är giltig kod men..

<style type="text/css">
.hidden {
display:none;
}
</style>
<body>
<script type="text/javascript">
function show_field(field)
{
if (document.getElementById('fields'+field).style.display == 'block') {
document.getElementById('fields'+field).style.display = 'none';
} else {
document.getElementById('fields'+field).style.display = 'block';
}
}
</script>
<form name="aa" action="http://">

<input type="checkbox" id="klick1" name="klick1" onclick="show_field(1)" />
<label for="klick1">Egna fält</label>

<input type="checkbox" id="klick2" name="klick2" onclick="show_field(2)" />
<label for="klick2">Andra fält</label>

<fieldset id="fields1" class="hidden"">
<legend>Mina fält</legend>
<p>
<input name="field1" type="text" size="20" value="" /><br />
<input name="field2" type="text" size="20" value="" />
</p>
</fieldset>

<fieldset id="fields2" class="hidden"">
<legend>Andra fält</legend>
<p>
<input name="field3" type="text" size="20" value="" /><br />
<input name="field4" type="text" size="20" value="" />
</p>
</fieldset>
</form>
Medlem sedan okt. 20001 285 inlägg
#3

eller ..

<style type="text/css">
.hidden {
display:none;
}
.extend {
border:1px solid #000;
width:15px;
height:15px;
cursor:pointer;
}

</style>
<body>
<script type="text/javascript">
function show_fields(field)
{
if (document.getElementById('fields'+field).style.display == 'block') {
document.getElementById('fields'+field).style.display = 'none';
} else {
document.getElementById('fields'+field).style.display = 'block';
}
}
</script>
<form name="test" method="post" action="http://">

<p><img src="images/plustecken.png" width="15" height="15" id="klick1" onclick="show_fields(1)" class="extend" alt="Bildskärmar" /> Bildskärmar</p>

<fieldset id="fields1" class="hidden"">
<legend>Bildskärmar</legend>
<input name="field1" type="radio" size="20" value="1" title="" id="field1" />
<label for="field1"> Bildskärm 1</label><br />
<input name="field2" type="radio" size="20" value="4" title="" id="field2" />
<label for="field2"> Bildskärm 2</label><br />
</fieldset>

<p><img src="images/plustecken.png" width="15" height="15" id="klick2" onclick="show_fields(2)" class="extend" alt="Hårddiskarr" /> Hårddiskar</p>

<fieldset id="fields2" class="hidden"">
<legend>Hårddiskar</legend>
<input name="field3" type="radio" size="20" value="3" title="" id="field3" />
<label for="field3"> Hårddisk 3</label><br />
<input name="field4" type="radio" size="20" value="4" title="" id="field3" />
<label for="field4"> Hårddisk 4</label><br />
</fieldset>

</form>

så.. nu ska jag sluta leka :)

plustecken.png
Medlem sedan maj 2005138 inlägg
#4

Hehe tack för dina svar. Har inte hunnit kolla så mycket på det, men det som jag körde blev inte alls bra. Det blev glapp mellan textraderna när man inte skulle visa dom osv. Kör med alla synliga, men disablade och att dom enablas beroende på vad man väljer för radiobutton.

Eftersom jag inte tänker krångla mer med koden så kan jag tyvärr inte acceptera något svar som slutgilitigt på min fråga.

259 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)