Avatar billede beasto Nybegynder
05. oktober 2000 - 11:16 Der er 14 kommentarer og
1 løsning

Dynamisk form (say what ??)

Jeg har brug for en form der ændrer sig i forhold til de valg man tager.
Jeg har en listbox der indeholder nogle muligheder (lad os sige A,B og C).
Hver af de tre muligheder indeholder nogle underkategorier (eks 1a,2a,3a,4a,5a....)som bliver vist i en dropdownbox.
Jeg vil gerne have et script (så simpelt som overhovedet muligt) der opdatere dropdown boxen sådan at hvis man har valgt A så viser dropdown boxen kun A-mulighederne (1a,2a,osv)

Jeg ville helt klart foretrække hvis formen ikke skulle reloades (hader ( ( (klik ) ) ) - lyden fra IE ! )

Jeg ville klart foretrække eksempler.


/Beasto

Avatar billede jens Nybegynder
05. oktober 2000 - 11:33 #1
Kan du ikke bruge noget her:

http://www.aspfree.com/authors/salimn/optionex.asp

Hilsen
Jens
Avatar billede beasto Nybegynder
05. oktober 2000 - 11:41 #2
Det er sådan noget jeg skal bruge men, jeg vil gerne slippe for *.js filen.
Avatar billede jens Nybegynder
05. oktober 2000 - 11:52 #3
er det et krav at det ikke må hente oplysninger fra en DB ?
Avatar billede beasto Nybegynder
05. oktober 2000 - 11:56 #4
Nej egentlig ikke, men jeg havde sådan set tænkt mig at sætte nogle variabler i scriptet v.h.a. den ASP der generere html´en.

Men hvis du har en smart løsnig hvor Scriptet selv har en db opkobling er det også OK

/Beast
Avatar billede jens Nybegynder
05. oktober 2000 - 12:03 #5
Så er løsningen måske det her istedet.

http://www.aspfree.com/authors/adrian/TwoCombo.asp
Avatar billede beasto Nybegynder
05. oktober 2000 - 12:30 #6
Det er en mulighed, men jeg vil gerne undgå reload !
Avatar billede jens Nybegynder
05. oktober 2000 - 12:32 #7
Så er det nok det første forslag du skal have fat i :-(
Avatar billede beasto Nybegynder
05. oktober 2000 - 12:40 #8
Jeg ville som nævnt gerne undgå optionx.js filen !

/Beast
Avatar billede gertnissen Nybegynder
05. oktober 2000 - 13:13 #9
Prøv denne kode, vist nok cut & pastet fra eksperten
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
<script language=\"JavaScript\">
var moms = 1.25;
function product(name, price) {
  this.name = name;
  this.price = price;
}
var gruppe = new Array();
gruppe[1] = new Array();  //  Software
gruppe[1][1] = new product(\"Win 95\",2000);
gruppe[1][2] = new product(\"Win 98\",2500);
gruppe[1][3] = new product(\"Win NT\",4000);
gruppe[2] = new Array();  //  Hardware
gruppe[2][1] = new product(\"CPU\",3500);
gruppe[2][2] = new product(\"HD\",1500);
gruppe[2][3] = new product(\"Skærm\",4000);
gruppe[2][4] = new product(\"Tower\",150);
function populateProducts() {
  var num = document.forms[0].gruppe.options.selectedIndex;
  if (num != 0) {
    document.forms[0].produkt.length = gruppe[num].length;
    document.forms[0].produkt.options[0].text = \"Vælg her\";
    for (var i = 1;i < gruppe[num].length; i++) {
      document.forms[0].produkt.options[i].text = gruppe[num][i].name;
    }
    document.forms[0].produkt.options.selectedIndex = 0;
    document.forms[0].priceEM.value = \"\";
    document.forms[0].priceIM.value = \"\";
  }
}
function calcPrice() {
  var gNum = document.forms[0].gruppe.options.selectedIndex+1;
  var pNum = document.forms[0].produkt.options.selectedIndex+1;
  if ((gNum != 1) && (pNum != 1)) {
    if (document.forms[0].produkt.options[pNum-1].text != \"\") {
      var price = gruppe[gNum-1][pNum-1].price;
      document.forms[0].priceEM.value = price+\" kr.\";
      document.forms[0].priceIM.value = price*moms+\" kr.\";
    }
  }
}
</script>
</head>
<body bgcolor=\"#FFFFFF\">
<form>
  <select name=\"gruppe\" onChange=\"populateProducts()\">
    <option selected>V&aelig;lg her</option>
    <option>Software</option>
    <option>Hardware</option>
  </select>
  <select name=\"produkt\" onChange=\"calcPrice()\">
    <!--
        På grund af Netscape bliver vi nød til at sætte bredden i forvejen med en masse nobreak-space
        Og indsætte en masse tomme valg (Min samme antal som den største prodtukt kategori
    //-->
<option>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
    <option></option>
  </select>
  <script language=\"JavaScript\">
    document.forms[0].produkt.length = 1;
</script>
  <br>
  excl. moms :
  <input type=\"text\" name=\"priceEM\">
  <br>
  incl moms :
  <input type=\"text\" name=\"priceIM\">
</form>
</body>
</html>
Avatar billede beasto Nybegynder
05. oktober 2000 - 13:36 #10
Gertnissen: lav lige et svar så er pointene dine

Jens: tak for hjælpen


/beasto
Avatar billede jens Nybegynder
05. oktober 2000 - 13:43 #11
bare i orden ;-)
Avatar billede gertnissen Nybegynder
05. oktober 2000 - 13:45 #12
tja, det er vel lidt unfair når det ikke er mig der oprindeligt har lavet det. Jeg er jo blot tyven der stiller det til rådighed.
Avatar billede beasto Nybegynder
05. oktober 2000 - 13:51 #13
Tjaaa, sådan er det jo. Det er op til dig selv op du vil give halvdelen videre til en anden!
Avatar billede olebole Juniormester
05. oktober 2000 - 19:04 #14
<ole>
Hmmm...Gert, det kunne ligne noget fra et af mine svar. Jeg har i hert fald postet en del af de der løsninger. Hvis det er tilfældet, kan jeg oplyse dig, at jeg blot er tyven, der stillede det til rådighed! *LOL*
Jeg har det vist fra Jumper - om han så er tyven, der...osv, se det aner jeg ikke!?! Næhhh...behold du dine points! Vi kopierer jo hele tiden fra hinanden og smider det op som svar i mere eller mindre redigerede udgaver  ;o)
/mvh
</bole>
Avatar billede jens Nybegynder
05. oktober 2000 - 21:43 #15
og hjælper derved hinanden - så det er vel bare ok, vi behøver jo ikke at opfinde den dybe talerken hver gang ;-)

- Jens
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