[struts/html] form submitten dmv enter

Pagina: 1
Acties:

  • bloody
  • Registratie: Juni 1999
  • Laatst online: 21:45

bloody

0.000 KB!!

Topicstarter
Hi,

Stel ik heb een bepaalde class die extend van LookupDispatchAction.
Dan moet het mogelijk zijn om dmv meerdere submit input velden in een html form direct naar de juiste execute() methode te gaan in die class.

Zie hier: http://www.jguru.com/faq/view.jsp?EID=900642 wat ik exact bedoel.


Nu is het zo dat het prima werkt mits je maar KLIKT op de submit buttons.
Als je namelijk in een textveldje staat en drukt op enter, dan submit hij wel, maar weet struts niet welke methode aangeroepen moet worden, omdat de naam/value pair in de submit button niet meegesubmit wordt.
Let wel: dit is voornamelijk een probleem bij 1 submit button als er een
LookupDispatchAction wordt gebruikt!

Iemand enig idee wat dit kan zijn? Browser probleem? workarounds?

nope


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Stop de default waarde in een hidden input.

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 12-04 14:05
ACM schreef op 05 oktober 2004 @ 20:18:
Stop de default waarde in een hidden input.
Mij ligt iets bij dat als je meerdere waardes met dezelfde naam insteld, dit als een grote waarde, bij elkaar gevoegd, aankomt op de server.

Mocht iemand dan toch op de submit klikken krijg je dus een dubbele waarde..?

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Als je een hidden-input met naam X met waarde Y en een submitknop met naam X en waarde Z maakt, dan zal Y meegestuurd worden bij het domweg op enter duwen. En Z bij het op de knop drukken.
Althans, ze worden beide meegestuurd waarschijnlijk, maar bij mijn weten gebruikt Struts de laatste waarde.

Uiteraard als je er een array ala varnaam[] of varnaam[1] van maakt is het een ander verhaal.

  • bloody
  • Registratie: Juni 1999
  • Laatst online: 21:45

bloody

0.000 KB!!

Topicstarter
ACM schreef op 06 oktober 2004 @ 18:48:
..verhaal...
Althans, ze worden beide meegestuurd waarschijnlijk, maar bij mijn weten gebruikt Struts de laatste waarde.
...verhaal...
Volgens mij gebruikt de servlet engine juist de eerste waarde. :)
getParameter uit ServletRequest zegt: "If you use this method with a multivalued parameter, the value returned is equal to the first value in the array returned by getParameterValues. "

Maar goed, ik heb nog wat gezocht en er staat een heel interessant verhaal op: http://ppewww.ph.gla.ac.uk/~flavell/www/formquestion.html waaruit blijkt dat e.e.a. niet makkelijk zonder javascript te fixen is...

nope


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 12-04 14:05
Je kunt beter gewoon een hidden field maken, en de submit knop helemaal geen waarde meegeven :) toch?

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


Verwijderd

bloody schreef op 06 oktober 2004 @ 20:39:
[...]


Volgens mij gebruikt de servlet engine juist de eerste waarde. :)
getParameter uit ServletRequest zegt: "If you use this method with a multivalued parameter, the value returned is equal to the first value in the array returned by getParameterValues. "

Maar goed, ik heb nog wat gezocht en er staat een heel interessant verhaal op: http://ppewww.ph.gla.ac.uk/~flavell/www/formquestion.html waaruit blijkt dat e.e.a. niet makkelijk zonder javascript te fixen is...
Zonder het interesante verhaal gelezen te hebben kan ik wel melden dat ik denk dat het wel aardig is dat er staat " first value in the array returned by getParameterValues", maar dat dat nog nix zegt over welke waarde dan de eerste is.

Naar mijn hoeft de eerste die getParameterValues terug geeft nog niet eens de eerste waarde te zijn die in een get request voorkomt.

Bv mypage.jsp?a=x&a=z

Wat staat er op index 0 in de array die getParameterValues terug geeft? Volgens mij is dat undefined. En ook al zou het defined zijn (wat dus waarschijnlijk niet zo is), dan weet je het met een post ook niet wat de volgorde is. Je zou kunnen zeggen het eerste field wat in de source voorkomt, maar een html client kan dat heel anders in zijn request neer zetten.
Pagina: 1