Newsgroup: it.comp.www.html
Titolo: Comportamento anomalo nella submit di un form

Ciao a tutti,
vorrei un vostro parere su un problema che si verifica nella submit di
un form di una pagina JSP, che ha un comportamente diverso nella
stessa applicazione installata su due macchine diverse.
Ho un form di questo tipo, che viene visualizzato quando viene
caricata la pagina:
<form name="doRemove" method="post" action="#">
      <input type="hidden" name="remove" value="ok">
      <input type="image" src="images/submit.gif"
width="55" height="20" border="0" name="remove" value="Submit"
align="middle" onclick="closing=false">
</form>
Ha inizio pagina faccio un controllo in java nel quale vedo se è
valorizzato il parametro "remove" (questo parametro al primo
caricamento è valorizzato come "start"):
    String remove = "null";
    if (request.getParameter("remove") != null)
    	remove = request.getParameter("remove");
A fronte di tale controllo se remove è pari a "start", visualizzo il
form sopra, se è uguale a "ok" faccio dell'altro, con il controllo che
segue:
    if (remove.equalsIgnoreCase("start"))
    {
          MOSTRO FORM
    }
    else if (remove.equalsIgnoreCase("ok"))
    {
          ALTRO
    }
Il problema che si verifica è che lanciando la stessa applicazione,
dal mio pc portatile, succede che:
installata sulla macchina A, quando cliccco sull'immagine submit,
faccio il submit del form, il parametro viene passato alla stessa
pagina come "ok" e vado correttamente su ALTRO;
installata sulla macchina B, clicco sulla stessa immagine, la pagina
viene ricaricata, ma va sempre in MOSTRO FORM, come se il parametro
non fosse correttamente impostato, ma rimanesse impostato a
"start" (come passato da querystring).
Da cosa può dipendere questa differenza?
Vi ringrazio per l'attenzione.
--
Newsgroup robomoderato - gli articoli vengono approvati automaticamente

    remove = request.getParameter("remove");
Mi sembra di vedere un po' di confusione tra la costante null e la stringa 
di quattro caratteri formata dalle lettere "null".
Nello. 


 di quattro caratteri formata dalle lettere "null".
Potrà sembrarti improprio il nome "null", ma per me era un modo per
chiamarlo in modo differente da "start" e "ok". Non ho fatto
confusione.
Faccio un tentativo sostituendo #.
Grazie.


> Faccio un tentativo sostituendo #.
Sostituendo la pagina al # funziona anche nell'altro ambiente.
Non mi spiego solo la differenza tra i due.
Grazie per l'aiuto.


 Non mi spiego solo la differenza tra i due.
Bene bene, in passato avevo notato una cosa simile anch'io.
Avevo omesso del tutto l'attributo action. Mentre Internet Explorer in 
mancanza di esso mandava i dati alla pagina corrente, Safari non sapeva dove 
andare e il modulo non funzionava.
Nello. 


 Non mi spiego solo la differenza tra i due.
Con action="#" la pagina viene validata ?
Se la risposta è no non c'è sorpresa, mi sembra di ricordare (vidi un 
esempio analogo) che il comportamento quando action non è definito è 
imprevedibile.


Vedo due name="remove" ..... non va mica bene.... 


 imprevedibile.
La cosa strana è che dallo stesso pc, quindi stesso explorer,
l'applicazione installata sulla macchina A fa correttamente la
validazione, l'applicazione sulla macchina B, come dice Nello, sembra
non sappia dove andare.
Il browser che esegue l'applicazione sulle due macchine è lo stesso
(ovviamente vi parlo sempre di due ambienti perché uno è di sviluppo e
test, l'altro è l'ambiente definitivo).
Grazie.


> Vedo due name="remove" ..... non va mica bene....
Si ma un "remove" è il name del tag html, l'altro è una variabile java
eseguita a runtime. Non c'è confusione.
