Jag har 2 stycken formulär med checkboxar på en sida. Det är två olika GUI för att göra samma sak. Därmed vill jag att om man markerar en checkbox i det ena formuläret så ska motsvarande checkbox i det andra formuläret vara ikryssat.
Hur åstakommer man något liknande på ett smidigt sätt.`?
När jag klickar i/ur den letar den upp checkboxen med namnet c1 i formuläret f2 (f2 är en variabel som håller elementen i formuläret med namnet f2 - titta i window.onload-funktionen). Den checkboxen får samma checked-värde som den checkboxen jag klickar i/ur.
mattiasnordin skrev:
Och hur gör jag om jag loopar ut formuläret via for / next loop.
Nedan fungerar. Men jag förstår fortfarande inte varför
functionen nedan behöver existera. Det fungerar för mig utan denna.
<script type="text/javascript">
var f1, f2;
window.onload = function() {
f1 = document.forms["f1"].elements;
f2 = document.forms["f2"].elements;
}
</script>
Betrakta följande formulär
<form name="f">
För att referera till formuläret kan man skriva på flera olika sätt, t ex
var f1 = document.getElementsByTagName("FORM")["f"];
var f2 = document.getElementsByName("f")[0];
var f3 = document.forms["f"];
var f4 = document.f;
var f5 = f;
De fem variablerna refererar allihopa till samma formulär - det enda som skiljer är hur vi kommer åt formuläret.
När du utelämnar window.onload-funktionen använder du samma metod som i f5, medan jag, genom window.onload-funktionen, använde metoden i f3.
Att skriva som du gjorde är inte lika snyggt (om du frågar mig), men jag vågar inte säga att det är fel. Om du använder en riktig doctype så att Firefox ställer sig i Standards Mode får du dock se att f5 kommer att bli fel, så om jag vore du skulle jag nog satsa på att använda window.onload-funktionen ändå.