2010-08-27 16 views
5

Sono nuovo di PHP ma mi chiedevo come farlo.Come inviare un modulo utilizzando un metodo POST di textlink

Desidero inviare un modulo HTML a un'altra pagina PHP, ma non desidero utilizzare il pulsante brutto. Voglio usare un link.

Il punto è che vedo molte soluzioni che utilizzano Java Script/Jquery per risolvere il problema. Qualcuno sa come farlo solo con codice PHP e HTML?

+0

PHP è lato server, quindi non importa quanto tu abbia provato, è impossibile farlo. HTML, tuttavia, * potrebbe * averlo fatto, ma sfortunatamente non lo fa, quindi dovresti limitarti ad almeno una piccola codifica JavaScript (vedi la risposta di Sarfraz) – Frxstrem

+1

Oppure potresti davvero provare a dare uno stile al tuo pulsante di invio con css. – opatut

risposta

8

O utilizzare uno stile <input type="submit"> ed è come un legame con i CSS, o di creare un collegamento con onclick:

<a href="#" onclick="document.forms['name_of_your_form'].submit();">Lol Rofl</a> 

Se si vuole fare in modo che funziona quando JS è disattivato, aggiungere qualcosa di simile:

<noscript> 
    <input type="submit" ... /> 
</noscript> 

Questo mostrerà il pulsante sui computer in cui JS è disabilitato, il link sopra verrà comunque mostrato. Una soluzione alternativa è nascondere il collegamento con CSS e mostrarlo a JS ..

+0

Il fatto è che volevo che funzionasse senza javascript. Notjavascript e nessun pulsante. C'è un modo per farlo usando il link e il codice PHP? –

+1

@Relik Angus: no, PHP non può poiché è solo lato server e HTML non può perché non è stato implementato - è per questo che usiamo JavaScript per fare questo dopo tutto. – Frxstrem

+1

No. Tranne che si è soddisfatti dei risultati ottenuti con lo styling del pulsante di invio con CSS, che non ha nulla a che fare con Javascript e dovrebbe essere supportato/abilitato su tutti i browser. - Come ho scritto: "usa un e lo stile come un link con css", che è fondamentalmente lo stesso di gordon. – opatut

5

Si può fare in questo modo:

<a href="#" onclick="document.forms['form_name'].submit();">Submit</a> 

che presenterà il modulo per qualunque URL impostare l'attributo action del form.

+0

che potrebbe funzionare, ma non è questo script Java?Volevo una soluzione in PHP/html –

+0

Ma questo utilizza ancora Javascript ... –

+0

@Relik Angus: PHP è un linguaggio lato server, non è possibile utilizzarlo per inviare moduli :) – Sarfraz

3

Non so quanti pulsanti sono in grado di essere stilizzati in modo uniforme su tutto il browser, ma ecco un inizio/prova di concetto può giocherellare con, leggi: prova, registrare, mettere in CSS esterno, e così via

<input type="submit" value="Send" style=" 
    border:0; 
    background-color:transparent; 
    color: blue; 
    text-decoration:underline; 
"/> 
+0

questo è solo abbastanza folle da funzionare .. Stile un pulsante che assomiglia a un link eh. Aright quindi ^^ grazie k. Ci proverò –

1

ho trovato un modo alternativo di utilizzare testo semplice come un pulsante di invio, per tentativi ed (un sacco di) errore. Metti i tag etichetta attorno al pulsante di invio e al testo, quindi definisci il pulsante CSS in modo che non venga visualizzato e il testo CSS in modo che assomigli a un link.

Tenere a mente che questa probabilmente non è una buona pratica. :)

Ad esempio, questo va nella forma HTML:

<label class="notalink"><input type="submit" value="Submit" class="invisibutton"> 
Click this text to submit</label> 

e questo va nel CSS:

.invisibutton { 
    height: 1px; 
    width: 1px; 
    display: none; 
    vertical-align: text-bottom; 
} 

label { 
    color: (link-color) 
    text-decoration: (etc.) 
} 

E così via per la definizione etichetta di modo che appaia come uno standard collegamento. Il pulsante è invisibile ma il testo è selezionabile come etichetta, quindi si comporta come un pulsante.

L'unico lato negativo è che ha reso il mio testo etichetta cadere un pixel. Se ci fossero altre parole attorno allo pseudo-link, dovevo definire la classe di testo circostante con un "vertical-align: bottom;" per assicurarsi che non sembrasse strano

Ha funzionato un fascino, però. L'ho usato con successo in una pagina di WordPress per creare link falsi che attivano script php (impostando $ _POST).

Problemi correlati