Avatar billede jokeren25 Nybegynder
02. april 2008 - 12:39 Der er 3 kommentarer og
1 løsning

Check checkbox

Hej eksperter,

er der nogen der kan hjælpe mig med at modificere følgende script så det kan checke om en checkbox (<input name="Age" type="checkbox" />) er checket af. På forhånd tak.

function formCheck(formobj){
    // Enter name of mandatory fields
    var fieldRequired = Array("bestillers_navn", "adresse", "post_nr", "tlf", "email", "town", "Sex", "Age");
    // Enter field description to appear in the dialog box
    var fieldDescription = Array("Fuldenavn", "Adresse", "Post Nr.", "Telefon nr.", "E-mail adresse", "By", "Sex", "Age");
    // dialog message
    var alertMsg = "Udfyld venlist disse felte(r):\n";
   
    var l_Msg = alertMsg.length;
   
    for (var i = 0; i < fieldRequired.length; i++){
        var obj = formobj.elements[fieldRequired[i]];
        if (obj){
            switch(obj.type){
            case "select-one":
                if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){
                    alertMsg += " - " + fieldDescription[i] + "\n";
                }
                break;
            case "select-multiple":
                if (obj.selectedIndex == -1){
                    alertMsg += " - " + fieldDescription[i] + "\n";
                }
                break;
            case "text":
            case "textarea":
                if (obj.value == "" || obj.value == null){
                    alertMsg += " - " + fieldDescription[i] + "\n";
                }
           
                break;
            default:
            }
            if (obj.type == undefined){
                var blnchecked = false;
                for (var j = 0; j < obj.length; j++){
                    if (obj[j].checked){
                        blnchecked = true;
                    }
                }
                if (!blnchecked){
                    alertMsg += " - " + fieldDescription[i] + "\n";
                }
            }
        }
    }

    if (alertMsg.length == l_Msg){
        return true;
    }else{
        alert(alertMsg);
        return false;
    }
}

og formen

<form name="formcheck" onsubmit="return formCheck(this);" method="post">
<input name="Age" type="checkbox" />
<input class="button" type="submit" value="Check">
</form>
Avatar billede w13 Novice
02. april 2008 - 13:32 #1
skal:
if (obj.type == undefined){
så ikke bare være:
if (obj.type == "checkbox"){
?
Avatar billede w13 Novice
02. april 2008 - 13:33 #2
Du kan også bare tilføje følgende lige før "if (alertMsg.length == l_Msg){":

                if (!document.Age.checked){
                    alertMsg += " - Du skal vælge checkboksen\n";
                }
Avatar billede jokeren25 Nybegynder
02. april 2008 - 13:44 #3
Ingen af dele virker desværre. Når jeg indsætter koden validere den slet ikke de andre felter i min form. Nogen der har nogen ideer til hvordan jeg løser dette?
Avatar billede jim.west Nybegynder
02. april 2008 - 14:04 #4
Tilføj et tjek af checkbox også... (før din default:)

f.eks.
case "checkbox":
    var required = false;
    for( var index = 0; index < fieldRequired.length; index++ ) {
        if( obj.name == fieldRequired[index] ) {
            required = true;
        }
    }

    // does the actual testing on the current object.
    if( required == true && obj.checked == false ) {
        alertMsg += " - " + fieldDescription[i] + "\n"
    }
    break;
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