Avatar billede chrisrj Forsker
02. oktober 2002 - 13:47 Der er 7 kommentarer og
2 løsninger

problem med funktioner

Jeg har fundet et javascript, som jeg har rettet i, og nu virker det ikke... :(

Jeg skal lige sige at jeg har aldrig arbejdet med java før...

Her er mit problem:

jeg har to dropdown boxe der hægner sammen. Dvs. når man vælger noget i den ene, kan man vælge noget i den anden. Men efter jeg har ændret arrays'ne virker det ikke..

Her er fejlen:

Linie: 229
Tegn: 3
Fejl: 'models[...].navn' er null eller ikke et objekt
Kode: 0


her er linie 229:

        document.search2.models.options[i] = new Option(models[i].navn, models[i].ide);
tegn 3 :--------^

"search2" er min form
"models" er den anden dropdown

Hvad kan problemet være??
Avatar billede chrisrj Forsker
02. oktober 2002 - 14:06 #1
jeg er nu kommet lidt videre, nu viser den, den første mulighed. men ikke flere!?!?
Avatar billede Slettet bruger
02. oktober 2002 - 14:07 #2
Smid et link. Eller hele koden. Vi kan ikke bruge det andet til særligt meget!
Avatar billede chrisrj Forsker
02. oktober 2002 - 14:14 #3
Jeg troede at I var eksperter. :D

Her er min form:

<form name="search2" method="post" action="" class="text"><br>
    <input type="radio" name="typer" value="forhandler" checked>Forhandler&nbsp;&nbsp;&nbsp;<input type="radio" name="typer" value="privat">Privat
    <br>   
    <select name="makes" onChange="show_models()" style="width:160px;background-color:white">
        <option value="1"> - Alle mærker</option>
        <option value="2">Alfa Romeo</option>
        <option value="3">Aston Martin</option>
        <option value="4">Audi</option>
        <option value="5">BMW</option>
    </select><br><br>

            <select name="models" style="width:160px;background-color:white">
                <option> - Alle modeller</option>
            </select><br><br>
</form>


Her er noget af scriptet:

<script language="JavaScript" type="text/javascript">

var models;
var makes;

var selectedModelCounter = 0;

function Reset() {
    document.search2.reset();

}


function show_models() {
    create_model_array();
    document.search2.models.options.length = 0;

    for (i = 0; i < models.length; i++) {
        document.search2.models.options[i] = new Option(models[i].navn, models[i].ide);
    }

    //<!-- Do NOT use 'selectedIndex = 0' instead. That wont work in IE4. -->
    document.search2.models.options[0].selected = true;
}

function create_make_array() {
  makes = new Array(5);
  makes[0] = new Make('intet', 0);
  makes[1] = new Make('alle', 1);
  makes[2] = new Make('Alfa Romeo', 2);
  makes[3] = new Make('Aston Martin', 3);
  makes[4] = new Make('Audi', 4);
  makes[5] = new Make('BMW', 5);
}


function create_model_array() {
  var selectedMake = document.search2.makes.selectedIndex;
  if (selectedMake == 0) {
    models = new Array(1);
    models[0] = new Model('- ingen modeller  ', 0);
  }
  if (selectedMake == 1) {
    models = new Array(1);
    models0] = new Model('- Alle modeller  ', 1);
  }
...
...
...
}


function Model(navn, ide) {
    this.navn = navn;
    this.ide = ide;
}

function Make(navn, ide) {
    this.navn = navn;
    this.ide = ide;
}

function submit_quick_search() {
    var q = document.search2;
    var MakeModels = 1;

    var url = "index.asp?page=soegeresultat.asp";

    var selectedMakes = "";
    var selectedModels = "";
switch(q.makes.value) {
case '1' :
url = url + '&maerke=[Alle mærker]&model=[Alle modeller]';
break;
case '2' :
url = url + '&maerke=[Alfa Romeo]&model=[145]';
break;
case '3' :
url = url + '&maerke=[Alfa Romeo]&model=[146]';
break;
case '4' :
url = url + '&maerke=[Alfa Romeo]&model=[147]';
break;
...
...
...
}


for (i = 0; i < q.typer.length; i++) {
            if (q.typer[i].checked) {
                url = url + "&typer=" + q.typer[i].value;
            }
        }

    }

    document.location = url;
}
Avatar billede Slettet bruger
02. oktober 2002 - 14:18 #4
Det er et besværligt og dårligt script. Brug en af disse:

http://www.friserverplads.dk/phoenixv/dd.html
http://www.friserverplads.dk/phoenixv/dd2.html
Avatar billede chrisrj Forsker
02. oktober 2002 - 14:36 #5
Det må jeg lige prøve...
Avatar billede chrisrj Forsker
02. oktober 2002 - 15:20 #6
Det virker... men hvordan laver jeg array'et dynamisk?

Jeg ved godt at jeg skal hente dataerne fra db og sætte dem ind i koden.

Men hvordan skal min select se ud??
Avatar billede Slettet bruger
02. oktober 2002 - 20:42 #7
Jeg har lagt en opdateret version af de første script ud på:
http://phoenixv.h4f.dk/dd.html
Din select skal se præcist ud som i eksemplet. Du ændrer på bare teksten i dine options.
Avatar billede chrisrj Forsker
02. oktober 2002 - 22:03 #8
hehe..

Da jeg sagde select, mente jeg SQL select... :)
Avatar billede chrisrj Forsker
03. oktober 2002 - 08:34 #9
Jeg lukker det spg og fortsætter her : http://www.eksperten.dk/spm/265373
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