Newsgroup: it.comp.lang.javascript
Titolo: button puo' inviare dati di più form

se ho 2 form F1 F2, un button dentro F1, come puo' fare a inviare i dati di
entrambe?
inoltre se il bottone è un submit può anche farlo?
se ho tanti bottoni dentro a tante form, bottoni che pero' hanno lo stesso
value (Invia), come si fa a poter intercettare il bottone che è stato
cliccato, se nella coppia name-value il value è sempre lo stesso?

 cliccato, se nella coppia name-value il value è sempre lo stesso?
credo che non si possa usare lo stesso name + di una volta.
Ancora una volta: probabilmente il tuo problema è stato già affrontato 
da altri. Dovresti dire cosa vuoi ottenere, non cercare aiuto su una 
soluzione che ti sei sognato.
-- 
"20060207: buongiorno italia, buongiorno maria.
con gli occhi pieni di malinconia"

 credo che non si possa usare lo stesso name + di una volta.
Si può fare, crei un array di elementi. Il name serve a questo.
In questo contesto diventa però inutile, perché se devi distinguere gli
elementi, non puoi dare a tutti lo stesso name. Se lo fai, significa che non
ti interessa distinguerli.
-- 
~ Il computer è una macchina progettata per velocizzare e automatizzare
gli errori.

 
Credo si ottenga anche un errore in validazione se usi 2 o + volte lo 
stesso name


 stesso name
  allora a che serve document.getElementsByName?
nota la esse di elements
  comunque la pagina viene validata anche se usi più name uguali

 stesso name
Assolutamente no. Come ho detto, il name serve anche a questo.
-- 
~ "La malinconia è la felicità di esser tristi." (Victor Hugo)

hk3project ha scritto:

Vero, di solito uso la sintassi name="pippo[]" per avere un array.
nel caso però si usi la sintassi senza [], al server ne viene inviato 
solo 1 valore (di norma l'ultimo credo).


 solo 1 valore (di norma l'ultimo credo).
Assolutamente no. Vengono inviati tutti i valori, nella seguente forma:
myText=val1&myText=val2
etc.
Prova con una form in GET, se vuoi verificare immediatamente.
E' il linguaggio server side, che poi decide come fare il parsing del dati
che gli arrivano. E nel caso di PHP, lui necessita delle quadre per
considerare tali elementi come array. Ma quella è una scelta implementativa
del linguaggio server, non del protocollo o del client.
Spero sia maggiormente chiaro, adesso.
-- 
~ L'ingegnere non vive, funziona.

 
Sei stato chiaro, ma "Assolutamente no" non ci sta:
avevo appunto provato con il metodo POST e, con PHP, funzionava come 
avevo detto io. Verranno inviati tutti i valori, ma ognuno, almeno in 
PHP, sovrascrive il precedente (sia POST che GET)
Per il metodo GET invece si puo fare il parsing della querystring, ci 
sarà sicuramente qualche trucchetto anche per il POST, ma credo che non 
ne avrò mai bisogno.


 avevo detto io.
Tu avevi detto che al server viene inviato solo un valore, e ciò non è vero;
neppure in PHP.
Al server viene inviato tutto. E anche a PHP arriva tutto. Poi è lui, che
decide di "popolare" l'array $_POST, con i dati arrivati, in base ad una
certa nomenclatura.
-- 
~ "Non si chiama coraggio se non hai paura." ("Bounce")

 neppure in PHP.
Probabilmente non sono stato chiaro io
Comunque avevo scritto:
"Verranno inviati tutti i valori, ma ognuno, almeno in PHP, sovrascrive 
il precedente (sia POST che GET)"
Non č molto forbito ma il concetto c'č: i dati, come dici tu sono 
inviati tutti (e l'ho scritto anche io eh!), ma (PHP), almeno negli 
array superglobali ($_POST, $_GET, $_REQUST,...) si caca solo l'ultimo 
valore inviato nella richiesta. That's all.


 il precedente (sia POST che GET)"
che schifezza...chissà come mai questo comportamento, suona come bug...
-- 
"Run rabbit run
 dig that hole, forget the sun
 and when at last the work is done
 don't sit down, it's time to dig another one"
									    P.F.

 valore inviato nella richiesta. That's all.
Come ti ho già ripetuto un paio di volte: Cosa fa PHP, sono affari suoi. Il
fatto che negli array tipo $_POST, come ho già scritto varie volte, vengono
memorizzati i dati in un certo modo; non ha niente, ma proprio niente, a che
vedere con quanto stavamo dicendo in precedenza.
Ti sarà sfuggito per l'ennesima volta, ma parlavamo di come il client
gestisce il medesimo name su diversi campi. Ora dimmi cosa c'entra PHP.
Inoltre: Volendo puoi anche accedere tranquillamente da PHP ai dati in POST
"nudi e crudi" a prescindere da come vengono parserizzati. Giusto per la
cronaca.
-- 
~ Il lavoro è prezioso. Non essere egoista! Lascialo agli altri!

 che schifezza...chissà come mai questo comportamento, suona come bug...
No, affatto. Semplicemente, se a parità di "name" vuoi avere nella variabile
$_POST in PHP un'array, dovrai impostare come suffisso al "name" le
parentesi quadre.
Pensa ad una serie di checkbox: l'utente potrebbe selezionarne due, tre.. o
uno. In PHP, se il "name" di questi checkbox ha le quadre, anche in presenza
di un solo valore viene creato un array. In questo modo server side non
dovrai fare differenze di sorta, come invece accade in altri linguaggi, e
gestire tale valore sempre come un array.
-- 
~ "E' bello essere vivi. Ci sono tante cose che non si possono fare
da morti."

 gestire tale valore sempre come un array.
ah ecco, così suona meglio, mi pareva strano ...
-- 
"Ho smesso di fumare.
 Vivrò una settimana di più.
 E in quella settimana pioverà a dirotto"
									    W.A.

 
mmmm, credo di averlo scritto anche io. mi quoto:
"Per il metodo GET invece si puo fare il parsing della querystring, ci 
sarà sicuramente qualche trucchetto anche per il POST, ..."
Non comprendo il tuo accanimento, ma ti apprezzo.
Ciao


 ah ecco, così suona meglio, mi pareva strano ...
:)
-- 
~ Se il destino è contro di noi, peggio per lui!

 sarà sicuramente qualche trucchetto anche per il POST, ..."
L'ho letto, ma il mio "tranquillamente" stava a indicare che non è affatto
un "trucchetto". E' una cosa che si fa abitualmente. Ad esempio per leggere
un XML Document inviato tramite XmlHttpRequest.
-- 
~ "Nei film americani, qualsiasi problema che venga considerato
sufficientemente catastrofico, puo' essere risolto facendo esplodere uno
o piu' ordigni nucleari" (ZER0 & Cosimo)