03. februar 2006 - 13:01
Der er
3 kommentarer og
1 løsning
Kopiere date til andre text-felter
Hej Exp'er
Jeg har en side med x-antal text-felter, med fortløbende id'er.
Nu er mit mål at: Hvis man indtaster f.x. "10" i feltet med id="4" så skal den automatisk skrive "10" i samtlige felter med et id over 4.
Problemet her er at jeg ikke ved præcis hvor mange felter jeg har.
Håber i kan hjælpe
Vh
DTH
03. februar 2006 - 13:17
#1
Hvis felterne genereres dynamisk, kan du også finde ud af hvor felter der er. Og så kunne du lave et hidden-felt i bunden af formen med det totale antal felter. Prøv noget i retning af:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<script type="text/javascript">
<!--
function updateFields(frm,id) {
var val = frm['field' + id].value;
var total = frm.total.value;
for (i = id; i <= total; i++) {
frm['field' + i].value = val;
}
}
//-->
</script>
</head>
<body>
<form name="form1" method="post" action="">
1. <input name="field1" type="text" id="field1" onkeyup="updateFields(this.form,1)" onblur="updateFields(this.form,1)" /><br />
2. <input name="field2" type="text" id="field2" onkeyup="updateFields(this.form,2)" onblur="updateFields(this.form,2)" /><br />
3. <input name="field3" type="text" id="field3" onkeyup="updateFields(this.form,3)" onblur="updateFields(this.form,3)" /><br />
4. <input name="field4" type="text" id="field4" onkeyup="updateFields(this.form,4)" onblur="updateFields(this.form,4)" /><br />
5. <input name="field5" type="text" id="field5" onkeyup="updateFields(this.form,5)" onblur="updateFields(this.form,5)" /><br />
6. <input name="field6" type="text" id="field6" onkeyup="updateFields(this.form,6)" onblur="updateFields(this.form,6)" /><br />
7. <input name="field7" type="text" id="field7" onkeyup="updateFields(this.form,7)" onblur="updateFields(this.form,7)" /><br />
8. <input name="field8" type="text" id="field8" onkeyup="updateFields(this.form,8)" onblur="updateFields(this.form,8)" /><br />
9. <input name="field9" type="text" id="field9" onkeyup="updateFields(this.form,9)" onblur="updateFields(this.form,9)" /><br />
10. <input name="field10" type="text" id="field10" onkeyup="updateFields(this.form,10)" onblur="updateFields(this.form,10)" /><br />
<input type="hidden" name="total" value="10" />
</form>
</body>
</html>
03. februar 2006 - 13:18
#2
Ønsker du at køre på id'erne i stedet, kan du ændre javascript funktionen til:
function updateFields(frm,id) {
var val = document.getElementById('field' + id).value;
var total = frm.total.value;
for (i = id; i <= total; i++) {
document.getElementById('field' + id).value = val;
}
}
03. februar 2006 - 13:33
#3
Hejsa
Mange tak, jeg er nødt til at køre scriptet på id'et da jeg skal bruge name til at arbejde videre med i ASP.
Jeg kunne ikke få det til at virke i første omgang men fandt fejlen i din kode:
document.getElementById('field' + id).value = val; skal jo være document.getElementById('field' + i).value = val; :-D
Vh
DTH