FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Medlem
|
Blir inte klok på en sak. Jag sitter och trixar med formulär i ett system som bygger på Java beans -> jsp -> html (*döh*). Formuläret i fråga fungerar inte i alla lägen. Kruxet är att det inte har någon action, dvs JSP-filen anropar sig själv vid submit. Detta funkar fint i IE, FF och Opera, men inte i Safari eller Chrome.
Servern ger felmeddelande som tyder på att Safari och Chrome försöker submitta till den katalog som JSP-filen ligger i, vilket ju självfallet blir fel. Har prövat att ange den aktuella JSP-filen i action, men då blir servern ledsen, oavsett browser. Men där är det troligtvis någonting med Java, JSP och servlets som jag inte hajar, och inte mina fellow Java-kollegor heller. Om vi bortser från eventuella Javarelaterade problem, är det någon som känner igen problemet? Ledsen för bristfälligt underlag vad gäller kod... |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Banned
|
Min erfarenhet är att WebKit inte stödjer det som är solklart i FF, IE eller Opera.
Kan du inte hitta något som motsvarar _SERVER['SCRIPT_NAME'] i PHP tex? |
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Mycket flitig postare
|
Jag vet inte om det är så smart att hoppa över action-attributet eftersom det inte är bestämt hur webbläsare ska hantera det när det inte finns med. Fast det brukar funka ändå - brukar.
Jag har satt upp ett simpelt test men jag kan inte få det att funka som du beskriver. Kanske gör ni något galet på serversidan, trots allt? Varför annars skulle det blir knas om ni faktiskt anger action och method för formuläret? Vad klagar servern på då? F.ö. borde action peka på en servlet istället för en JSP-sida. |
|||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Klarade millennium-buggen
|
Hmmm, dAEK, jag läste relativt nyligen att action-parametern inte är obligatorisk (därvid borde alla webläsare klara av att den inte finns), men tyvär har jag glömt var jag läste det. Det borde stå i html-standarden iaf, så det är väl bara att läsa...
|
|||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Medlem
|
Helt riktigt, att hoppa över action är ingen bra lösning. Därför kommer jag att ändra på det. Systemet har några år på nacken (utan någon riktig GUI-utvecklare inblandad) och fungerar bara i IE, så mitt jobb just nu är att anpassa för fler webbläsare.
Men jag upptäckte varför det inte funkade och det berodde just på skillnaden i hur ett tomt action-attribut hanteras. Sidan i fråga hade redan postade variabler i URL:en. Alltså, helt enkelt: Kod:
http://www.domän.se/servlet/servletnamn?foo=bar Så lösningen blev alltså att ange servleten som action-attribut och lägga till hidden-fält med de tidigare variablerna. Servern klagar inte och Chrome och Safari är jätteglada. ![]() Tack för bra input. |
|||
![]() |
![]() |
![]() |
#6 | |||
|
||||
Medlem
|
Citat:
Jag kan tillägga att i mitt fall stämmer inte base-href överens med sidans verkliga adress (en Javarelaterad variant antar jag). Men det påverkar säkerligen också hur en tom action hanteras. Tyvärr kan jag inte ändra base-href-attributet för då havererar det fullkomligt. |
|||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Mycket flitig postare
|
Citat:
|
|||
![]() |
![]() |
Svara |
|
|