2010-08-27 45 views
5

Soy nuevo en PHP pero me preguntaba cómo se puede hacer esto.Cómo enviar un formulario mediante un método POST textlink

Quiero enviar un formulario HTML a otra página PHP, pero no quiero usar el botón feo. Quiero usar un enlace.

El problema es que veo muchas soluciones que usan Java Script/Jquery, etc. para resolver esto. ¿Alguien sabe cómo hacerlo con código PHP y HTML solamente?

+0

PHP es del lado del servidor, por lo que no importa cuánto lo intentó, es imposible de hacer. HTML, sin embargo, * podría haber * hecho esto, pero desafortunadamente no, por lo que tendría que seguir con al menos algunos códigos menores de JavaScript (ver la respuesta de Sarfraz) – Frxstrem

+1

O podría tratar de darle estilo al botón de enviar con css. – opatut

Respuesta

8

O bien utilizar un estilo <input type="submit"> y como un vínculo con CSS, o crear un vínculo con onclick:

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

Si desea asegurarse de que funciona cuando JS está desactivada, añadir algo como esto:

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

Esto mostrará el botón en las computadoras donde JS está deshabilitado, el enlace de arriba todavía se mostrará. Una solución alternativa es ocultar el vínculo con CSS y luego mostrarlo con JS ..

+0

La cuestión es que quería que funcionara sin javascript. Notjavascript y ningún botón. ¿Hay alguna manera posible de hacer esto usando el enlace y el código PHP? –

+1

@Relik Angus: no, PHP no puede porque solo está en el lado del servidor, y HTML no puede porque no se ha implementado; es por eso que usamos JavaScript para hacer esto después de todo. – Frxstrem

+1

No. Excepto que está satisfecho con los resultados que obtiene al diseñar el botón Enviar con CSS, que no tiene nada que ver con Javascript y debe ser compatible/habilitado en cada navegador. - Como escribí: "usa un y pégalo como un enlace con css", que es básicamente el mismo que dice gordon. – opatut

5

Usted puede hacer de esta manera:

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

que se envíe el formulario a cualquier conjunto de direcciones URL en el atributo action del form.

+0

que puede funcionar, pero ¿no es este script de Java?Quería una solución en PHP/html –

+0

Pero eso todavía usa Javascript ... –

+0

@Relik Angus: PHP es un lenguaje del lado del servidor, no puedes usarlo para enviar formularios :) – Sarfraz

3

No sé cuánto se pueden diseñar los botones de manera uniforme en todos los navegadores, pero este es un inicio/prueba de concepto que puede jugar con, debe decir: de prueba, ajuste, puesta en CSS externo, y así sucesivamente

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

esto es lo suficientemente loco como para funcionar. Dale un estilo a un botón que se parece a un enlace eh. Aright entonces ^^ gracias k. Voy a intentar esto –

1

he encontrado una forma alternativa de texto plano como un botón de enviar, por ensayo y (mucho) de error. Coloque las etiquetas alrededor del botón Enviar y el texto, luego defina el botón CSS para que no se muestre y el texto CSS para que parezca un enlace.

Tenga en cuenta que probablemente esta no sea una buena práctica. :)

Por ejemplo, esto va en el formulario HTML:

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

Y esto va en el CSS:

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

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

Y así sucesivamente para la definición de etiqueta para que se vea como una norma enlazar. El botón es invisible pero se puede hacer clic en el texto como su etiqueta, por lo que actúa como un botón.

El único inconveniente es que hizo que el texto de la etiqueta caiga un píxel. Si hubiera otras palabras alrededor del pseudo-enlace, tuve que definir la clase de texto circundante con un "vertical-align: bottom;" para asegurarse de que no se vea raro.

Trabajó un encanto, sin embargo. Lo utilicé con éxito en una página de WordPress para crear enlaces falsos que activan las secuencias de comandos php (configurando $ _POST).

Cuestiones relacionadas