Avatar billede nielspt Nybegynder
12. marts 2009 - 17:16 Der er 7 kommentarer og
1 løsning

Form: Validere X antal input fields med forskellige navne

Jeg vil gerne validere, at et automatisk genereret antal af input fields er udfyldt før afsending. Input fieldsne får automatisk generet et navn således: <input name='input_<?=i?>' ... >

Foruden input fields genereres også en bunke text-areas, men disse skal IKKE valideres.

Jeg har lavet denne stump kode, men den validerer samtlige elementer i formen - og det er kun input fields der skal valideres.



<script language="JavaScript">
function checkform(form) {
    for(var i = 0; i < form.elements.length; i++){
        if(form.elements[i].value.length < 3){
            alert('Husk at udfylde titler til alle billeder');
            form.elements[i].focus();
            return false;
        }
    }
    return true;
}
</script>



Nogen der ved hvordan man kan løse det?

Tak.
Avatar billede majbom Novice
12. marts 2009 - 19:45 #1
<script language="JavaScript">
function checkform(form) {
    elms = document.getElementsByTagname('input');
    var size = elms.length;
    for(var i = 0; i < size; i++){
        if(elms[i].value.length < 3){
            alert('Husk at udfylde titler til alle billeder');
            form.elements[i].focus();
            return false;
        }
    }
    return true;
}
</script>

ovenstående er utestet, men burde tjekke alle dine input-felter.
jeg ved ikke om du har andet end textareas og textfelter?
Avatar billede nielspt Nybegynder
13. marts 2009 - 23:16 #2
Hej splazz, tak for dit svar.
Men det ser desværre ikke ud til at virke.

Jeg tror måske det er fordi, at mine input-fields har forskellige navne. Når formen er blevet genereret af PHP, så vil input-fieldsne eksempelvis se således ud:

<input id="" class="input_upload" type="text" value="" maxlength="30" name="titel_0"/>
<input id="" class="input_upload" type="text" value="" maxlength="30" name="titel_1"/>
<input id="" class="input_upload" type="text" value="" maxlength="30" name="titel_2"/>
osv.

(Bemærk navnene)

Kan du eller andre hjælpe mig videre?

Vh. Niels
Avatar billede majbom Novice
14. marts 2009 - 12:32 #3
jeg har lige ændret lidt på koden, der var et par fejl:

function checkform(form) {
                elms = document.getElementsByTagName('input');
                var size = elms.length;
                for(var i = 0; i < size; i++){
                    if(elms[i].value.length < 3){
                        alert('Husk at udfylde titler til alle billeder');
                        //form.elements[i].focus();
                        elms[i].focus();
                        return false;
                    }
                }
                return true;
            }
Avatar billede nielspt Nybegynder
14. marts 2009 - 15:27 #4
Perfekt! Det virker lige præcis som det skal nu!

Smid lige et svar.

Vh. Niels
Avatar billede olebole Juniormester
14. marts 2009 - 23:06 #5
<ole>

Jamen, tre mellemrumstegn er da osse et klart, logisk og sigende navn til et billede  ;o)

/mvh
</bole>
Avatar billede majbom Novice
15. marts 2009 - 07:44 #6
kanon, så smider jeg da lige et svar.

og som ole siger, bør du måske også tjekke om det rent faktisk er brugbare tegn der er indtastet :)
Avatar billede nielspt Nybegynder
15. marts 2009 - 10:51 #7
Selvfølgelig :-)Det var såmænd bare lige for at lave skellettet af valideringen.

Tak for hjælpen!
Avatar billede majbom Novice
22. marts 2009 - 21:03 #8
tak for point :)
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