Avatar billede peter72 Nybegynder
09. august 2007 - 16:51 Der er 8 kommentarer

Problem med submit i onchange i Selectbox

Hej

På en jsp-side har jeg en form med en select box i, hvor jeg gerne vil have at formen submitter når jeg har valgt et element i selectboxen.

Formen bliver også submittet fint, men værdien af det valgte element i selectboxen bliver ikke sat.

Nedenfor er et udsnit af koden.

Håber nogen kan spotte mit problem,
Peter 

-------
<form name="frm">
<INPUT type='hidden' name='command'/>

<select name="selectedCountry" onchange='java script:document.frm.submit();'>
  <option value='UK' >UK</option>
  <option value='DE' >DE</option>
</select>
</form>
-------
Avatar billede olebole Juniormester
09. august 2007 - 17:14 #1
<ole>

<form name="frm">
<INPUT type='hidden' name='command'/>

<select name="selectedCountry" onchange='java script:document.frm.submit();'>
  <option value='-1' >Vælg...</option>
  <option value='UK' >UK</option>
  <option value='DE' >DE</option>
</select>
</form>

/mvh
</bole>
Avatar billede olebole Juniormester
09. august 2007 - 17:16 #2
Hvis du i din version vælger DE, så reloades dokumentet og UK er så igen 'valgt' i select'en. Derfor sker der ingen ændring, når du vælger UK => ingen onchange-event  ;o)
Avatar billede olebole Juniormester
09. august 2007 - 17:20 #3
Du kan også spørge på get-variablen, når siden loades. I PHP kunne det se sådan ud:

<form name="frm">
<INPUT type='hidden' name='command'/>

<select name="selectedCountry" onchange='java script:document.frm.submit();'>
  <option value='UK'<? if ($_GET[selectedCountry]=="UK") print " selected" ?>>UK</option>
  <option value='DE'<? if ($_GET[selectedCountry]=="DE") print " selected" ?>>DE</option>
</select>
</form>

- så afspejler select'en et evt. sprogvalg
Avatar billede olebole Juniormester
09. august 2007 - 17:22 #4
- så bruger man iøvrigt aldrig 'java script:' i en event-handler ... og du kan referere til formen med 'this.form'. Altså ville jeg skrive select-koden sådan:
    <select name="selectedCountry" onchange="this.form.submit()">
Avatar billede olebole Juniormester
09. august 2007 - 17:24 #5
Sorry, jeg glemte gåseøjnene i:
    $_GET["selectedCountry"]
Avatar billede peter72 Nybegynder
10. august 2007 - 10:27 #6
Tak for dine svar Ole.

Desværre kan jeg stadig ikke få det til at virke... Jeg har prøvet begge forslag.
Via. debug kan jeg se at min setter-metode modtager den "gamle" værdi -altså værdien inden onchange.

Hvis jeg tilføjer en knap der submitter formen kommer den nye værdi fint ned i min setter.

PS. ovenstående kode er kun en del af den genererede html. I min jsp kode håndterer jeg selvfølgeligt selected ala den måde du gør det i php.

Mvh.
Peter
Avatar billede peter72 Nybegynder
10. august 2007 - 11:14 #7
...Fandt problemet.... lidt flovt....

Længere oppe i min jspkode blev selectedCountry resat...

Alligevel mange tak til dig Ole :-)

/Peter
Avatar billede olebole Juniormester
10. august 2007 - 21:21 #8
Hehe ... det er helt okay  ;o)

- husk at acceptere dit svar, så spm'et lukkes
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