P Pedda Medlem sedan juni 2000 6 031 inlägg Frågan 10 aug. 2007 18:12 #1 Jag vill ha en textbox och när man skriver något i den så ska alla andra textboxar som heter antal[] fyllas i automatiskt med värdet i den andra textboxen.
Alternativt att man har en länk bredvid textboxen och om man klickar på den så förs värdet in i dom övriga textboxarna.
Men frågan är hur man löser det?
stattin Medlem sedan jan. 2005 713 inlägg Såhär då:
<form name="blaha">
<input name="Text1" onKeyUp="alla()" type="text" /><br />
<input name="Text2" type="text" /><br />
<input name="Text3" type="text" /><br />
<input name="Text4" type="text" /><br />
<input name="Text5" type="text" /><br />
<input name="Text6" type="text" /><br />
<input name="Text7" type="text" /><br />
<input name="Text8" type="text" />
</form>
<script type="text/javascript">
function alla() {
for(i=2;i<9;i++)
{ document.forms["blaha"].elements["Text"+i].value=document.blaha.Text1.value }
}
</script>
Inte så snyggt.. men det funkar, dock ingen knapp men det är ju bara att sätta dit en som anropar funktionen itsället.
i<9 ska man kunna ändra om till form.length.. men hur, kommer inte ihåg.
stattin Medlem sedan jan. 2005 713 inlägg for(i=2;i<document.forms["blaha"].elements.length+1 ;i++)
så var det.
P Pedda Medlem sedan juni 2000 6 031 inlägg Alla textboxar som ska fyllas automatiskt heter antal[] och det kan vara olika antal många.
Det finns även andra textboxar som heter annat som inte ska fyllas i automatiskt.
P Pedda Medlem sedan juni 2000 6 031 inlägg Exempel på hur det kan se ut:
<tr>
<td> </td>
<td><input name="sammaIalla" type="text" id="sammaIalla" size="10" onKeyUp="CopyText()" />
styck i alla pallar </td>
</tr>
<tr>
<td>Pall 1:</td>
<td><input name="antalPerPall[]" type="text" id="antalPerPall[]" size="10" />
styck </td>
</tr>
<tr>
<td>Pall 2:</td>
<td><input name="antalPerPall[]" type="text" id="antalPerPall[]" size="10" />
styck </td>
</tr>
<tr>
<td>Pall 3:</td>
<td><input name="antalPerPall[]" type="text" id="antalPerPall[]" size="10" />
styck </td>
</tr>
... osv med andra textboxar, radiobuttons mm ...
stattin Medlem sedan jan. 2005 713 inlägg Tyvärr kan man inte ha [] med i namnet på text boxarna..
red\ och inte samma namn på flera text boxar heller för den delen.
P Pedda Medlem sedan juni 2000 6 031 inlägg Jasså, är det bara checkboxar och sånt som man kan det?
stattin Medlem sedan jan. 2005 713 inlägg Det går nog inte med någon slags form element just eftersom det skapar problem när man ska och om man vill anropa dessa med javascript. och som jag redigera ovan så kan man inte ha samma namn på flera heller.. alla fall inte text fälten.
P Pedda Medlem sedan juni 2000 6 031 inlägg Att ha samma namn och [] använder jag ofta på t.ex checkboxar och det funkar fint, men jag har aldrig använt det på textboxar eller ihop med javascript.
stattin Medlem sedan jan. 2005 713 inlägg Exakt vad måste du ha [] tecknen till?
stattin Medlem sedan jan. 2005 713 inlägg Radio knappar kan man ha samma namn på eftersom det bildar grupper.
P Pedda Medlem sedan juni 2000 6 031 inlägg Testade nu att fylla i värden i textboxarna, skicka formuläret och sen loopa ut värden och det funkade.
P Pedda Medlem sedan juni 2000 6 031 inlägg
stattin skrev:
Exakt vad måste du ha [] tecknen till?
Eftersom textboxarna skapas dynamiskt så jag inte vet hur många det är från gång till gång så behöver jag värdena i en array när formuläret postats.
dAEk Medlem sedan feb. 2004 1 816 inlägg Snabbt fulhack:
<script type="text/javascript">
function updateValues(sourceElement, targetElementName) {
var targetElements = sourceElement.form.elements[targetElementName];
for (var i=0; i<targetElements.length; i++) {
targetElements[i].value = sourceElement.value;
}
}
</script>
<form>
<input type="text" name="master" onkeyup="updateValues(this, 'antal[]')">
<input type="text" name="antal[]">
<input type="text" name="antal[]">
<input type="text" name="antal[]">
<input type="text" name="antal[]">
<input type="text" name="antal[]">
</form>
Pedda,
du får inte ha flera id med samma värde. Skript kan och kommer knasa sig och så är det inte tillåtet enligt spec. Varje id måste vara unikt för sidan.
P Pedda Medlem sedan juni 2000 6 031 inlägg
dAEk skrev:
Snabbt fulhack:
Det funkar iaf. tack.
dAEk skrev:
du får inte ha flera id med samma värde. Skript kan och kommer knasa sig och så är det inte tillåtet enligt spec. Varje id måste vara unikt för sidan.
Har inte hittat någon dokumentation som har sagt att man inte får ha samma värde på flera id.
Jag lär väl återkomma om det knasar sig men det funkar nu iaf.
dAEk Medlem sedan feb. 2004 1 816 inlägg
Pedda skrev:
Har inte hittat någon dokumentation som har sagt att man inte får ha samma värde på flera id.
Element identifiers, id:
"This attribute assigns a name to an element. This name must be unique in a document."
Annars kan du testa och validera htmlkoden. Det är ett bra sätt att upptäcka fel men också att lära sig html bättre om man är intresserad.
Pedda skrev:
Jag lär väl återkomma om det knasar sig men det funkar nu iaf.
Vänta bara... ;) §e