2008-11-08 6 views

Antwort

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

Dies wird die your_image_name.x und your_image_name.y Werte senden, wie es die Form legt, die die x- und y-Koordinaten der Position sind, der Benutzer das Bild angeklickt.

7

Ungeprüfte/könnte besser sein:

<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

Es sieht aus wie Sie ein Bild zu verwenden sind versuchen, ein Formular senden ... in diesem Fall Verwendung <input type="image" src="...">

Wenn Sie wirklich wollen verwenden einen Anker, dann müssen Sie Javascript verwenden:

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

+0

Es stellte sich heraus, dass die Clippy des alten MS-Büros Greg die ganze Zeit war! – Nick

1

Etwas 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

Dont die Taste "" Element Wich vergessen kann innerhalb etwas mehr HTML behandeln ...

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

Weitere generische approatch mit JQuery Bibliothek closest() und submit() Tasten. . Hier müssen Sie nicht angeben whitch Formular, das Sie senden möchten, das Formular sendet es in ist

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

gute Antwort, aber möglicherweise Bedenken auf empfohlene Praxis ... http://stackoverflow.com/questions/1070760/jaskascript-function-in-href-vs-onclick – ken

+4

Stellen Sie einfach sicher, dass Sie am nächsten(), wenn Sie sich bewegen müssen up das DOM und find(), wenn Sie das DOM – yardpenalty

+2

durchlaufen müssen, würde ich ein 'return false;' am Ende des 'onclick' hinzufügen, um zu vermeiden, zum oberen Rand der Seite zu scrollen. – user3409662

0

Wir ersetzen den Absenden-Button mit dieser die ganze Zeit auf Formen:

<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> 

Ein Klick Das Bild reicht das Formular ein. Ich hoffe, das hilft!

+1

Ist diese Antwort anders als die angenommene Antwort? wir wollen vermeiden, dass "das Gleiche für mich auch funktioniert" Stil Antworten auf SO. –

2

Was für eine praktische Ergänzung dazu sein könnte, ist die Möglichkeit, die Post-URL von der zusätzlichen Taste zu ändern, so dass Sie verschiedene URLs mit verschiedenen Tasten veröffentlichen können. Dies kann erreicht werden, indem Sie die Eigenschaft 'Aktion' des Formulars festlegen. Hier ist der Code für das bei der Verwendung von jQuery:

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

Das Aktion-Attribut hat einige Probleme mit älteren Versionen jQuery, aber auf dem neuesten Stand werden Sie gut zu gehen.

+0

$ ('# [Formularname]') sollte $ sein ('form [name = formname]'); und das # [href] -Ding sollte komplett anders sein –

Verwandte Themen