PDA

View Full Version : [HTML] Method Post


iceone
05-05-2006, 19:09
Salve a tutti avrei bisogno di una mano, vi descrivo il problema.
Invio dei dati ad un verser tramite una pagina html con il metodo post tramite un bottone questo è il codice:

-------------------------------------------------------------------------
<FORM METHOD="POST" ACTION="?nuovo&pam;act=var">
<INPUT TYPE="radio" NAME="var" VALUE="1"> 1<BR>
<INPUT TYPE="radio" NAME="var" VALUE="2"> 1<BR>
<INPUT TYPE="radio" NAME="var" VALUE="3"> 1<BR>
<INPUT TYPE="radio" NAME="var" VALUE="4"> 1<BR>
<INPUT TYPE="radio" NAME="var" VALUE="5"> 1<BR>

<INPUT TYPE="submit" NAME="bottone" VALUE="invia" CLASS="submit">
------------------------------------------------------------------------

Tutto funziona ma vorrei spedire i dati inveche che col "bottone" tramite un link.
Quale link devo mettere?

iceone
05-05-2006, 19:51
<FORM METHOD="POST" ACTION="?nuovo&pam;act=var" NAME="nome_form">
<INPUT TYPE="radio" NAME="var" VALUE="1"> 1<BR>
<INPUT TYPE="radio" NAME="var" VALUE="2"> 1<BR>
<INPUT TYPE="radio" NAME="var" VALUE="3"> 1<BR>
<INPUT TYPE="radio" NAME="var" VALUE="4"> 1<BR>
<INPUT TYPE="radio" NAME="var" VALUE="5"> 1<BR>
</FORM>

<a href="javascript:document.nome_form.submit();">Submit</a>

Grazie per la risposta ma non riesco ad andare avanti
Mi spiego meglio var sono dei "radio button" che si escludono a vicenda e io gli devo passare solo uno tramite link html come se lo scrivessi nel browser il nome form si riferisce a cosa?

orpheus
05-05-2006, 20:14
Il nome_form serve x riconoscerlo nel javascript forse potresti tentare con una funzione javascript del genere e chiamarla nel href di prima..

questa è una traccia non sono molto preparato con i javascript quindi magari qualche errore puo' esserci ma grossomodo l'idea dovrebbe funzionare



function radio_check() {

for (counter = 0; counter < nome_form.var.length; counter++)
{

if (nome_form.var[counter].checked) {
nome_form.action="?nuovo&amp;act="+var[counter];
nome_form.submit();
}

}
}

chetidolanimale
06-05-2006, 13:21
con "gli devo passare solo uno tramite link html come se lo scrivessi nel browser" intendi che nella barra degli indirizzi deve comparire ad esempio "?nuovo=&act=var&var=2" ? in questo caso non devi usare method="post" ,ma method="get", e fare qualche modifica.

una cosa del genere forse può fare al caso tuo:
<form method="get" action="">
<input type="hidden" name="nuovo" value="">
<input type="hidden" name="act" value="var">
<input type="radio" name="var" value="1"> 1</input><br>
<input type="radio" name="var" value="2"> 1</input><br>
<input type="radio" name="var" value="3"> 1</input><br>
<input type="radio" name="var" value="4"> 1</input><br>
<input type="radio" name="var" value="5"> 1</input><br>
<a onclick="this.parentNode.submit();">spedisci</a>
<noscript>devi avere javascript abilitato per poter inviare il form</noscript>
</form>
ti conviene scrivere attributi e tag in minuscolo,così ti abitui un po' all'xhtml.

:)

iceone
06-05-2006, 14:59
con "gli devo passare solo uno tramite link html come se lo scrivessi nel browser" intendi che nella barra degli indirizzi deve comparire ad esempio "?nuovo=&act=var&var=2" ? in questo caso non devi usare method="post" ,ma method="get", e fare qualche modifica.

si questo intendo quindi se lo dovessi scrivere nella barra degli indirizzi dovrei scrivere:
http://www.nomesito.com/"?nuovo=&act=var&var=2"?

oppure

http://www.nomesito.com/?nuovo=&act=var&var=2?

grazie di tutto e scusate l'ignoranza

chetidolanimale
06-05-2006, 16:24
le virgolette le ho aggiunte io per farmi capire, ma nella pratica non devono comparire.

method="get" si usa quando vuoi che i dati compaiano nella barra degli indirizzi(ciò che viene dopo il punto interrogativo si chiama query string, e puoi scriverla a mano o farla scrivere automaticamente al browser con l'invio di un form che usa get,o ancora puoi scriverla usando un javascript).
method="post" spedisce gli stessi dati, ma non li fa vedere all'utente(non direttamente almeno, perchè ci sono decine di programmi che te li fanno vedere quando vuoi).


Ad esempio,hai un form di login in cui vengono scritti nick e password:in questo caso non puoi usare get, altrimenti la password comparirà bella bella nella barra degli indirizzi :muro: .
Se attraverso un form vuoi inviare un'immagine al server, anche in questo caso dovrai usare post,più altri accorgimenti.

Se invece hai un form per un motore di ricerca, puoi usare tranquillamente get:ad esempio, inviando il form per la ricerca comparirà nella barra degli indirizzi http://miosito.com/ricerca.php?chiave=guida+html . Ad esempio,prova a digitare nel browser http://www.google.it/search?q=guida+html :cool:
grazie di tutto e scusate l'ignoranza
l'importante è capirsi :)

iceone
06-05-2006, 23:10
method="post" spedisce gli stessi dati, ma non li fa vedere all'utente(non direttamente almeno, perchè ci sono decine di programmi che te li fanno vedere quando vuoi).



mi puoi indicare quali sono grazie.

chetidolanimale
07-05-2006, 14:16
io uso firefox con l'estensione live HTTP Headers (http://livehttpheaders.mozdev.org/) ,che ti fa vedere gli headers che mandi tu e quelli di risposta del server. Fra quelli che mandi tu ce n'è uno con i dati del form inviato.