Avatar billede decrypto Nybegynder
20. april 2006 - 11:49 Der er 8 kommentarer og
1 løsning

Løbe alle felter igennem en formular prefixet m. felt_

Jeg ved det kan lade sig gøre, og jeg har vist også prøvet det før, men jeg kan hverken finde min gamle kode eller noget på nettet.

Jeg skal meget simpelt 'bare' løbe alle de input felter igennem, der er prefixet med 'felt_', tage deres værdi og lægge sammen.

Hvordan er du nu man løber alle ens input felter igennem, der er prefixet med 'felt_'?
Avatar billede mclemens Nybegynder
20. april 2006 - 12:18 #1
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1"><title>Ingen titel</title>

<style type="text/css">html,body{height:100%;}</style>

<script type="text/javascript">

function calcinps(f){
inps=document.forms.formnavn.getElementsByTagName("input");
newvalue=0;
for(i=0;i<inps.length;i++){
  if(inps[i].name.indexOf("felt_")==0)newvalue+=+inps[i].value;
}
alert(newvalue);
}

</script></head>

<body leftmargin="0" rightmargin="0" topmargin="0">


<form name="formnavn">
<input type="text" name="felt_1" value="12"><br>
<input type="text" name="felt_423" value="1"><br>
<input type="text" name="haha" value="1231342"><br>
<input type="text" name="felt_1232" value="2"><br>
<input type="text" name="felt_3456456" value="4"><br>
<b onclick="calcinps();">Sammentæl inputs med navn felt_etellerandet</b>
</form>


</body></html>
Avatar billede decrypto Nybegynder
20. april 2006 - 12:23 #2
Very nice afprøver liiige....
Avatar billede grunken Nybegynder
20. april 2006 - 12:29 #3
og nu er det jo en prefix mc :-)

    <script type="text/javascript">
        var prefix = "felt_"
   
        function findfelter(f)
        {
            total = 0;
            for(i=0; i<f.elements.length, prefix==f.elements[i].name.substring(0,prefix.length);total +=+ f.elements[i].value,i++);
            alert(total);
        }   
    </script>

    <form>
        <input type="text" name="felt_aa" value="1"/>
        <input type="text" name="felt_bb" value="2" />
        <input type="text" name="felt_cc" value="3" />
        <input type="text" name="felt_dd" value="4" />
        <input type="text" name="felt_ee" value="5" />
        <input type="text" name="feltet"  value="127" />
    </form>

    <a href="#" onclick="findfelter(document.forms[0]);">Find</a>
Avatar billede mclemens Nybegynder
20. april 2006 - 12:31 #4
- jeg kan ikke lige se at jeg ikke validerer på prefix når jeg siger
if(inps[i].name.indexOf("felt_")==0) ... men ok ???
Avatar billede grunken Nybegynder
20. april 2006 - 12:32 #5
Sorry havde ikke set det lille NUL :-)
Avatar billede mclemens Nybegynder
20. april 2006 - 12:56 #6
- helt ok :)
Avatar billede mclemens Nybegynder
20. april 2006 - 13:03 #7
p.s. grunken: prøv at rette body i din udgave til denne:
    <form>
        <input type="text" name="felt_aa" value="1"/>
        <input type="text" name="felt_bb" value="2" />
    </form>

eller prøv at rykke
<input type="text" name="feltet"  value="127" />
op imellem de andre inputs istedet for til sidst...
Avatar billede mclemens Nybegynder
20. april 2006 - 13:07 #8
- tak for point :)
Avatar billede grunken Nybegynder
20. april 2006 - 13:38 #9
hehe mc :-) - g'morn grunken - så må jeg jo hellere røre i gryden

for(i=0; i<f.elements.length;total +=+ (!f.elements[i].name.indexOf(prefix) ? f.elements[i].value : 0),i++);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester