Avatar billede lund_dk Praktikant
24. august 2007 - 19:12 Der er 22 kommentarer og
1 løsning

Udfyld tomme felter med tal

<input type="text" name="1a">
<input type="text" name="1b">
<input type="text" name="1c">
<input type="text" name="1d">
<br/>
<input type="text" name="2a">
<input type="text" name="3b">
<input type="text" name="4c">
<input type="text" name="5d">


Jeg har disse felter i en form. som går fra 1a til 12a
Dvs 12 rækker..

Brugeren har mulighed for at indsætte værdier i felterne.. men behøver ikke at udfylde alle.
Brugeren skal derfor kunne klikke på en knap "udfyld tomme felter med tal" hvor en javascript function skal gå ind og indsætte et tilfældigt tal i de tomme felter.

Hvordan gør jeg det?
Avatar billede lund_dk Praktikant
24. august 2007 - 19:13 #1
Det skal lige siges, der skal være en knap med "udfyld tomme felter med tal" ud for hver linie

dvs jeg skal have en knap til linie 1
en knap til linie 2 osv..
Avatar billede olebole Juniormester
24. august 2007 - 19:25 #2
<ole>

function insRndNumb(sId, nLen) {
    nLen = typeof nLen=="nubmer" ? nLen : 10;
    var aNums = [1,2,3,4,5,6,7,8,9,0];
    var aNumLen = aNums.length;
    for (var i=0,j=nLen,s=""; i<j; i++) s += aNums[Math.floor(Math.random()*aNumLen)];
    document.getElementById(sId).value = s;
}

<div><input type="text" name="1a" id="a1"><button onclick="insRndNumb('a1')">Fyld</button></div>
<div><input type="text" name="1b" id="b1"><button onclick="insRndNumb('b1')">Fyld</button></div>
<div><input type="text" name="1c" id="c1"><button onclick="insRndNumb('c1')">Fyld</button></div>

/mvh
</bole>
Avatar billede thesurfer Nybegynder
24. august 2007 - 19:26 #3
Du mangler at angive:
- minimum og maksimum for værdierne/tallene
- må tallene gentage sig? For "5,5,5,5" er stadig 4 tilfældige tal, selv om de har samme værdi
Avatar billede olebole Juniormester
24. august 2007 - 19:27 #4
- og husk, at en ID altid skal begynde med et bogstav ... ikke et tal  ;o)
    <input type="text" name="1a" id="a1">
Avatar billede thesurfer Nybegynder
24. august 2007 - 19:27 #5
olebole kan åbenbart ikke lide "d"-linier.. hehe.. :-)
Avatar billede lund_dk Praktikant
24. august 2007 - 19:27 #6
Den skal fungere den anden vej..
dvs den skal udfylde a,b,c,d osv.. i hver linie

og ikke 1,2,3,4,5,6 osv
Avatar billede olebole Juniormester
24. august 2007 - 19:29 #7
okay ... så har jeg vist misforstået spørgsmålet. Jeg er på vej ud af døren, så du må overtage herfra, thesurfer  :)
Avatar billede thesurfer Nybegynder
24. august 2007 - 20:00 #8
olebole> Din kommunalarbejder.. :-)

lund_dk> Hvis du vil forklare nærmere, og helst gerne give et eksempel på hvordan det skal se ud, vil jeg se om jeg ikke kan løse problemet for dig..

Mit resultat ville ellers have været det samme som oleboles.. nemlig: vilkårlige tal i felterne

Så: Eksempel, tak :-)
Avatar billede lund_dk Praktikant
24. august 2007 - 20:52 #9
A B C D E F G H I J L K M N O P Q R S T U V W X Y Z
1 # # # # # # # # # # # # # # # # # # # # # # # # # # $udfyld 1$
2 # # # # # # # # # # # # # # # # # # # # # # # # # # $udfyld 2$
3 # # # # # # # # # # # # # # # # # # # # # # # # # # $udfyld 3$
4 # # # # # # # # # # # # # # # # # # # # # # # # # # $udfyld 4$
5 # # # # # # # # # # # # # # # # # # # # # # # # # # $udfyld 5$
6 # # # # # # # # # # # # # # # # # # # # # # # # # # $udfyld 6$
7 # # # # # # # # # # # # # # # # # # # # # # # # # # $udfyld 7$
8 # # # # # # # # # # # # # # # # # # # # # # # # # # $udfyld 8$
9 # # # # # # # # # # # # # # # # # # # # # # # # # # $udfyld 9$
10 # # # # # # # # # # # # # # # # # # # # # # # # # # $udfyld 10$
11 # # # # # # # # # # # # # # # # # # # # # # # # # # $udfyld 11$
12 # # # # # # # # # # # # # # # # # # # # # # # # # # $udfyld 12$

Min tabel ser sådan her ud
alle #'er er input bokse $udfyld$ er her linket skal være, så man klikker på hvor den udfylder tomme felter

Mine Input bokse hedder

1A,1B,1C
2A,2B,2C

Når jeg klikker på eks $udfyld 1$ skal alle _TOMME_ felter i rækken 1 udfyldes med et tilfældigt tal.

dvs 1a,1b,1c,1d,1e,1f,1g osv.. til Z

Giver det mening nu?
Avatar billede lund_dk Praktikant
24. august 2007 - 20:58 #10
http://www.lund.dk/exp/tabel.gif
hvis du vil se det i "levende liv"

Desværre kan jeg ikke give dig link, da det er en del et nyt projekt/idé/produkt som endnu ikke er patenteret.. men håber det giver mening alligevel..
Avatar billede thesurfer Nybegynder
24. august 2007 - 21:22 #11
Det er et fint billede.. jeg kigger på det om lidt..

I mellemtiden har jeg svaret på dit andet spørgsmål.. :-)
Avatar billede lund_dk Praktikant
24. august 2007 - 21:42 #12
Bare i orden :)
Avatar billede thesurfer Nybegynder
24. august 2007 - 22:18 #13
Så fik jeg kigget på det..

Eksempel:

<script type="text/javascript">
bogstaver = "A B C D E F G H I J L K M N O P Q R S T U V W X Y Z".toLowerCase();
bogstaver = bogstaver.split(" ");
function tal(linie)
{
    for(i = 0, len = bogstaver.length; i < len; i++)
    {
        nu = Math.floor(Math.random()*10);
        obj = document.getElementsByName(bogstaver[i] + linie)[0];
        if (obj.value == "") obj.value = nu;
    }
}
</script>

Funktionen kaldes sådan her:

tal('linienummer');

Eksempel:

tal('2')

Så vil linie 2 blive fyldt op med tal, hvor der er tomme felter.

- Svar
Avatar billede lund_dk Praktikant
24. august 2007 - 22:32 #14
Sys desværre ikke helt det virker..
Der sker intet, får ingen fejl eller noget som helst..

Gør jeg mon noget galt ?

Har husket at indsætte din JS kode ;)

        <tr>
        <td>2.</td>

        <td style="width:150px;"><input type="text" style="text-align:left; width:150px;" maxlength="15"></td>
        <td id="a2"><input type="text" size="1" name="2a" style="width:10px;"/></td>
        <td id="b2"><input type="text" size="1" name="2b" style="width:10px;"/></td>
        <td id="c2"><input type="text" size="1" name="2c" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2d" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2e" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2f" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2g" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2h" style="width:10px;"/></td>

        <td><input type="text" size="1" name="2i" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2j" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2k" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2l" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2m" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2n" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2o" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2p" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2q" style="width:10px;"/></td>

        <td><input type="text" size="1" name="2r" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2s" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2t" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2u" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2v" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2w" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2x" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2y" style="width:10px;"/></td>
        <td><input type="text" size="1" name="2z" style="width:10px;"/></td>

        <th><img src="images/icons/insertnumbers.gif" title="Udfyld automatisk tomme felter med vilkårlige tal" onclick="tal('2');"/></th>
    </tr>
Avatar billede thesurfer Nybegynder
24. august 2007 - 22:33 #15
Hmm.. du læser ikke hvad jeg skriver.. :-)

Læs lige hvad der står i bunden af http://www.eksperten.dk/spm/793282#rid6846522 :-)
Avatar billede lund_dk Praktikant
24. august 2007 - 22:41 #16
Sorry mor :P

Min fejl.. ;)

Men virker perfekt.. dog konflikter det lidt med det andet script, hvis jeg kalder cellens id det samme om input id.. men må kalde cellens id noget andet ;)
Avatar billede thesurfer Nybegynder
24. august 2007 - 22:42 #17
Måske er det mig der sover..

Du bruger f.eks. "1a" hvor jeg bruger "a1".. :-)

Prøv med "linie + bogstaver[i]" i stedet for "bogstaver[i] + linie"

:-)
Avatar billede thesurfer Nybegynder
24. august 2007 - 22:45 #18
Det er nok bedre, at du vender dig til ikke at bruge tal før bogstaver..

Så lad den være som i 24/08-2007 22:18:43..

Jeg har skrevet til dig i http://www.eksperten.dk/spm/793282

Takker for points :-)
Avatar billede olebole Juniormester
24. august 2007 - 22:48 #19
- ikke for at bære ved til det forkerte bål, men jeg skrev det faktisk også her:
    http://www.eksperten.dk/spm/793275#rid6846452  ;o)
Avatar billede lund_dk Praktikant
24. august 2007 - 22:50 #20
Jeg har smidt alt til at være BogstavTal - så vi er helt enige ;)

Begge scripts virker perfekt nu.. mange tak for hjælp.. det var guld :D
Avatar billede olebole Juniormester
24. august 2007 - 22:58 #21
Kanont! - og husk, det ikke (kun) er fordi, vi er efter dig  ;D
Avatar billede lund_dk Praktikant
24. august 2007 - 23:06 #22
Joo, i er efter MIG :P

men jeg kan tåle det, ka' jeg ;)
Avatar billede thesurfer Nybegynder
24. august 2007 - 23:10 #23
lund_dk> Vi skal nok få ram på dig.. "Next time, Gadget.. Next time.." :-)


olebole> Jeg tror at jeg skal bruge lidt hjælp til noget indsættelse af et div, ved brug af createElement og appendChild:

http://www.eksperten.dk/spm/793292
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