Avatar billede ulli Nybegynder
18. maj 2001 - 22:41 Der er 18 kommentarer og
1 løsning

Hvordan fanges valget i en select-box

Hvordan fanger jeg brugeres valg i <select>, og får fat i den tilhørende value?

------------------------
  $res=exe_query(\"select id,titel from film order by titel\");
  echo \"<form action=\\\"Test.php\\\" method=\\\"post\\\">\";
  echo \"<select name=\\\"film\\\" size=\\\"1\\\">\";
  echo \"<option value=\\\"0\\\" selected> Vælg film...\";
  while ($row=mysql_fetch_array($res)) {
    echo \"<option value=\\\"\".$row[id].\"\\\">\".$row[titel];
  }
  echo \"</select><p>\";
  echo \"Film Id: <input type=\\\"text\\\" name=\\\"FilmId\\\" value=\\\"[auto tildeles]\\\"><br>\";
  echo \"Titel: <input type=\\\"text\\\" name=\\\"Title\\\"><br>\";
  echo \"Billede: <input type=\\\"text\\\" name=\\\"Pic\\\"><br>\";
  echo \"<input type=\\\"submit\\\" value=\\\"Tilføj\\\" name=\\\"AddFilm\\\">\";
  echo \"<input type=\\\"submit\\\" value=\\\"Fjern\\\" name=\\\"RemFilm\\\">\";
  echo \"<input type=\\\"submit\\\" value=\\\"Opdater\\\" name=\\\"UpdateFilm\\\">\";
  echo \"</form>\";
Avatar billede erikjacobsen Ekspert
18. maj 2001 - 22:43 #1
Skal det fanges i PHP eller JavaScript, Ulrik ?
Avatar billede ulli Nybegynder
18. maj 2001 - 22:48 #2
Det har jeg faktisk ikke overvejet, men det smarteste er vel at gøre det i Javascript!

Dog ville det være rart at kunne gøre det i PHP, idet det vel inkluderer en eller anden form for document.xxx - i hvert fald hvis der skal indsættes noget i input-felterne!
Avatar billede ulli Nybegynder
18. maj 2001 - 22:51 #3
Den tager jeg lige til mig igen - document.xxx er jo for h.. JavaScript!
Avatar billede nikolajdu Nybegynder
18. maj 2001 - 22:53 #4
Vel noget ala.

<SCRIPT LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">

function hivUdDu(choice) {

    alert(choice);
}

</SCRIPT>   
   
</head>

<body>
<form>
<SELECT onChange=\"hivUdDu(this.options[this.selectedIndex].value);\">
Avatar billede erikjacobsen Ekspert
18. maj 2001 - 22:54 #5
Ok, i PHP får du filmnummeret i variablen $film. Den hidden variabel, som du
kalder FilmId kan jge ikke se nogen grund til.... Kan du?
Avatar billede erikjacobsen Ekspert
18. maj 2001 - 22:56 #6
Jadu, nemligdu, nikolajdu, mendu hvisdu mandu vildu checkedu omdu handu hardu valgtdu
endu børdu detdu skedu idu endu onsubmitdu pådu <form>du
Avatar billede nikolajdu Nybegynder
18. maj 2001 - 22:57 #7
Ok Mester. *gggg*
Avatar billede erikjacobsen Ekspert
18. maj 2001 - 22:59 #8
....så snakker vi li\'som samme sprog....hvad mon der er i min urtete i aften?
Avatar billede lord_fantomos Nybegynder
18. maj 2001 - 22:59 #9
heh.. spansk?



<?=Lord?>
Avatar billede erikjacobsen Ekspert
18. maj 2001 - 23:01 #10
No habla Español, Señor Fantomos? Si?
Avatar billede nikolajdu Nybegynder
18. maj 2001 - 23:02 #11
cest\' NikolajDuaise.... *ggg*
Avatar billede ulli Nybegynder
18. maj 2001 - 23:28 #12
Smart - og hvordan kombinerer man de 2?

  echo \"<form action=\\\"Test.php\\\" method=\\\"post\\\" onSubmit=\\\"f(this.select.options[this.select.selectedindex].value);\\\">\";

ignorerer den blot!?

  echo \"<form action=\\\"Test.php\\\" method=\\\"post\\\" onSubmit=\\\"f(this.film.options[this.select.selectedindex].value);\\\">\";


ligeledes med denne!
Avatar billede erikjacobsen Ekspert
18. maj 2001 - 23:35 #13
Mere kode, Ulrik - jeg gider ikke sidde og gætte :)
Avatar billede ulli Nybegynder
18. maj 2001 - 23:42 #14

<?
function FilmChoice(){
  $res=exe_query(\"select id,titel from film order by titel\");
  echo \"<form action=\\\"Test.php\\\" method=\\\"post\\\" onSubmit=\\\"f(this.film.options[this.select.selectedindex].value);\\\">\";
  echo \"<select name=\\\"film\\\" size=\\\"1\\\">\";
  echo \"<option value=\\\"0\\\" selected> Vælg film...\";
  while ($row=mysql_fetch_array($res)) {
    echo \"<option value=\\\"\".$row[id].\"\\\">\".$row[titel];
  }
  echo \"</select><p>\";
  echo \"Film Id: <input type=\\\"text\\\" value=\\\"[auto tildeles]\\\"><br>\";
  echo \"Titel: <input type=\\\"text\\\" name=\\\"Title\\\"><br>\";
  echo \"Billede: <input type=\\\"text\\\" name=\\\"Pic\\\"><br>\";
//  echo \"<input type=\\\"submit\\\" value=\\\"Tilføj\\\" name=\\\"AddFilm\\\">\";
//  echo \"<input type=\\\"submit\\\" value=\\\"Fjern\\\" name=\\\"RemFilm\\\">\";
//  echo \"<input type=\\\"submit\\\" value=\\\"Opdater\\\" name=\\\"UpdateFilm\\\">\";
  echo \"</form>\";
}

?>

<HTML>
<HEAD>

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

  function f(c) {
    alert(c);
  }

</script>

</HEAD>
Avatar billede erikjacobsen Ekspert
18. maj 2001 - 23:45 #15
onSubmit=\\\"return f(this.film.options[this.film.selectedindex].value);\\\">\";

Og så skal du i f skrive return true; hvis den må submitte og return false;
hvis du ikke lige synes den skal have lov. Tag lige og fortæl brugeren hvorfor
du nu synes det.
Avatar billede ulli Nybegynder
18. maj 2001 - 23:53 #16
function FilmChoice(){
  $res=exe_query(\"select id,titel from film order by titel\");
  echo \"<form action=\\\"Test.php\\\" method=\\\"post\\\" onSubmit=\\\"return f(this.film.options[this.film.selectedindex].value);\\\">\";
  echo \"<select name=\\\"film\\\" size=\\\"1\\\">\";
  echo \"<option value=\\\"0\\\" selected> Vælg film...\";
  while ($row=mysql_fetch_array($res)) {
    echo \"<option value=\\\"\".$row[id].\"\\\">\".$row[titel];
  }
  echo \"</select><p>\";
  echo \"Film Id: <input type=\\\"text\\\" value=\\\"[auto tildeles]\\\"><br>\";
  echo \"Titel: <input type=\\\"text\\\" name=\\\"Title\\\"><br>\";
  echo \"Billede: <input type=\\\"text\\\" name=\\\"Pic\\\"><br>\";
//  echo \"<input type=\\\"submit\\\" value=\\\"Tilføj\\\" name=\\\"AddFilm\\\">\";
//  echo \"<input type=\\\"submit\\\" value=\\\"Fjern\\\" name=\\\"RemFilm\\\">\";
//  echo \"<input type=\\\"submit\\\" value=\\\"Opdater\\\" name=\\\"UpdateFilm\\\">\";
  echo \"</form>\";
}

?>

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>

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

  function f(c) {
    alert(c);
    return true;
  }

</script>

Stadig intet sker - kan det være fordi jeg i den første option sætter en selected?
Avatar billede ulli Nybegynder
19. maj 2001 - 01:48 #17
Følgende er da et skridt videre, idet jeg nu får alert boxen frem, dog med en \"! undefined\".

Hvorfor mon det? hver option får da en value, såvidt jeg kan se!

-----------------------------------------------------------
function FilmChoice(){
  $res=exe_query(\"select id,titel from film order by id\");
  echo \"<form name=\\\"FormFilm\\\" action=\\\"Test.php\\\" method=\\\"post\\\">\";
  echo \"<select name=\\\"Film\\\" size=\\\"1\\\" onChange=\\\"f();\\\">\";
  echo \"<option value=\\\"0\\\" selected> Vælg film...\";
  while ($row=mysql_fetch_array($res)) {
    echo \"<option value=\\\"\".$row[id].\"\\\">\".$row[titel];
  }
  echo \"</select><p>\";
  echo \"Film Id: <input type=\\\"text\\\" value=\\\"[auto tildeles]\\\"><br>\";
  echo \"Titel: <input type=\\\"text\\\" name=\\\"Title\\\"><br>\";
  echo \"Billede: <input type=\\\"text\\\" name=\\\"Pic\\\"><br>\";
  echo \"<input type=\\\"submit\\\" value=\\\"Tilføj\\\" name=\\\"AddFilm\\\">\";
  echo \"<input type=\\\"submit\\\" value=\\\"Fjern\\\" name=\\\"RemFilm\\\">\";
  echo \"<input type=\\\"submit\\\" value=\\\"Opdater\\\" name=\\\"UpdateFilm\\\">\";
  echo \"</form>\";
}

?>

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>

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

function f() {
  alert(document.FormFilm.Film.selectedindex);
}

</script>
Avatar billede erikjacobsen Ekspert
19. maj 2001 - 15:24 #18
alert(document.FormFilm.Film.selectedIndex);
Avatar billede ulli Nybegynder
19. maj 2001 - 15:29 #19
Der var den sgu\'!
Hvor lang tid har jeg mon brugt på det!?

/Ulrik
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