2008-11-08 19 views

Respuesta

33
<input type="image" name="your_image_name" src="your_image_url.png" /> 

Esto enviará los valores your_image_name.x y your_image_name.y mientras envía el formulario, que son las coordenadas xey de la posición en la que el usuario hizo clic en la imagen.

7

No comprobado/podría ser mejor:

<form action="page-you're-submitting-to.html" method="POST"> 
    <a href="#" onclick="document.forms[0].submit();return false;"><img src="whatever.jpg" /></a> 
</form> 
23

Parece que usted está tratando de utilizar una imagen para presentar un formulario ... en ese caso de uso <input type="image" src="...">

Si realmente quieren utilizar un ancla entonces usted tiene que usar javascript:

<a href="#" onclick="document.forms['myFormName'].submit(); return false;">...</a>

+0

Resulta que el clippy de la antigua oficina de MS fue Greg todo el tiempo. – Nick

1

Algo like this page?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>BSO Communication</title> 

<style type="text/css"> 
.submit { 
    border : 0; 
    background : url(ok.gif) left top no-repeat; 
    height : 24px; 
    width : 24px; 
    cursor : pointer; 
    text-indent : -9999px; 
} 
html:first-child .submit { 
    padding-left : 1000px; 
} 
</style> 
<!--[if IE]> 
<style type="text/css"> 
.submit { 
    text-indent : 0; 
    color : expression(this.value = ''); 
} 
</style> 
<![endif]--> 
</head> 

<body> 
    <h1>Display input submit as image with CSS</h1> 

    <p>Take a look at <a href="/2007/07/26/afficher-un-input-submit-comme-une-image/">the related article</a> (in french).</p> 
    <form action="" method="get"> 
     <fieldset> 
      <legend>Some form</legend> 
      <p class="field"> 
       <label for="input">Some value</label> 

       <input type="text" id="input" name="value" /> 
       <input type="submit" class="submit" /> 
      </p> 
     </fieldset> 
    </form> 

    <hr /> 
    <p>This page is part of the <a href="http://www.bsohq.fr">BSO Communication blog</a>.</p> 

</body> 
</html> 
1

No se olvide el "botón" wich elemento puede manejar un poco más de HTML dentro ...

4
<html> 

<?php 

echo $_POST['c']." | ".$_POST['d']." | ".$_POST['e']; 

?> 

<form action="test.php" method="POST"> 
     <input type="hidden" name="c" value="toto98"> 
     <input type="hidden" name="d" value="toto97"> 
     <input type="hidden" name="e" value="toto aaaaaaaaaaaaaaaaaaaa"> 

     <a href="" onclick="document.forms[0].submit();return false;">Click</a> 
</form> 

</html> 


So easy. 




So easy. 
101

Más approatch genérico utilizando JQuery biblioteca closest() y submit botones(). . Aquí no tiene que especificar générale formulario que desea enviar, envía el formulario que se encuentra en

<a href="#" onclick="$(this).closest('form').submit()">Submit Link</a> 
+0

buena respuesta, pero podría preocuparle la práctica recomendada ... http://stackoverflow.com/questions/1070760/javascript-function-in-href-vs-onclick – ken

+4

Solo asegúrese de usar el más cercano() cuando necesite moverse hasta el DOM y find() cuando necesites recorrer el DOM – yardpenalty

+2

, agregaría un 'return false;' al final del 'onclick' para evitar desplazarte a la parte superior de la página. – user3409662

0

sustituimos el botón de enviar con esto todo el tiempo en las formas:

<form method="post" action="whatever.asp"> 
<input type=...n 

<input type="image" name="Submit" src="/graphics/continue.gif" align="middle" border="0" alt="Continue"> 
</form> 

Al hacer clic la imagen envía el formulario. ¡Espero que ayude!

+1

¿Es esta respuesta diferente de la respuesta aceptada? queremos evitar dar respuestas de estilo "lo mismo funciona también para mí" en SO. –

2

Lo que podría ser una útil adición a esto es la posibilidad de cambiar la URL posterior del botón adicional para que pueda publicar en diferentes URL con diferentes botones. Esto se puede lograr estableciendo la propiedad de forma 'acción'. Aquí está el código para que cuando se utiliza jQuery:

$('#[href button name]').click(function(e) { 
    e.preventDefault(); 
    $('#[form name]').attr('action', 'alternateurl.php'); 
    $('#[form name]').submit(); 
}); 

La acción-atributo tiene algunos problemas con las versiones anteriores de jQuery, pero en la última que va a ser bueno para ir.

+0

$ ('# [nombre del formulario]') debe ser $ ('formulario [nombre = nombre del formulario]'); y la cosa # [href] debería ser completamente diferente –

Cuestiones relacionadas