Frage

Ich kam auf eine Offenbarung den anderen Tag. Bei dem Versuch, durch die Verwendung eines Bildes eine Submit-Button zu erstellen, lief ich in ein Problem, bei dem das Bild nicht angezeigt wurde, aber der value Text war. Zu der Zeit, das ist nicht das, was ich wollte, aber jetzt, da ich zurückblicke, sehe ich einige mögliche Verwendung für diesen.

Wenn Sie Daten müssen auf eine andere Seite senden, aber keines davon erfordert eine Benutzereingabe, können Sie entweder senden Sie es in den Link (oder Form) über GET oder über ein Formular über POST. Das Problem ist, dass die ehemalige hässlich URLs erstellt und diese erfordern einen submit Knopf, deplatziert aussieht. Natürlich habe ich mit einem Bild kommen könnte, aber was ist, wenn ich wählbaren Text nur wollte.

So begann ich, um ein bisschen zu spielen und Firefox erscheint folgendes zu machen, wie ich wünsche, als klickbaren Link, der ein Formular abschickt. Alles was Sie tun müssen, ist das src Attribut aus dem input type='image' Tag entfernen:

<form action='some_page' method='post'>
  <input type='hidden' name='email_address' value='test@test.com' />
  <input type='image' value='E-mail User' />
</form>

Ist diese Lösung arbeitet auf anderen Browsern? Was sind die Nachteile auf diese Weise (abgesehen von der offensichtlichen Tatsache, dass Ihr Link CSS nicht richtig angewandt wird)?

War es hilfreich?

Lösung

Ich mag eine Lösung, die eine tatsächliche Verbindung (verdeckt) verwendet, die in Verbindung mit einer Taste in einem noscript-Tag über Javascript ausgesetzt werden.

 <form action="some_page" method="post">
    <input type="hidden" name="email_address" value="test@test.com" />
    <a href="#" class="submit-link" style="display: none;">E-mail User</a>
    <noscript>
       <input type="submit" value="E-mail User" />
    </noscript>
 </form>

 $('submit-link').click( function() {
     $(this).closest('form').submit();
     return false;
 })
 .show();

Andere Tipps

Es gibt keine Notwendigkeit, eine Bildeingabe zu verwenden, warum nicht nur eine regelmäßige Submit-Button verwenden und einige plumpe Styling anwenden, um sie wie normalen Text aussehen?

<input type="submit" value="E-mail User" class="link">

<style>
input.link {
    border: none;
    background: none;
    cursor: pointer;
    /* etc */
}
</style>

HTML Mit 4.01 Strict es auf FF3.5 gearbeitet, aber nicht auf IE8 oder Chrome. Der Link funktioniert, aber es ist kein Text, nur ein weißer Fleck für ein fehlendes Bild.

Also, das scheint eine schlechte Idee zu sein, da es nur auf einem Browser arbeiten. Für mich ist das ein ziemlich großer Nachteil, wenn Ihr nur Markt für Firefox-Browser ist, dann gehen Sie vor, großartige Idee. :)

Wie James Skidmore vorgeschlagen, es ist einfach ein Onclick mit Javascript zu tun, um es als Post einzureichen.

würde ich unaufdringlich JS vorschlagen, so, wenn jemand JS nicht dann auf sie als Link funktioniert, eine GET-Vorlage zu tun, aber wenn sie JS haben, dann wäre es das Verhalten ändern POST ohne hässliche URL zu sein Änderung.

Oder, wie wurde der Hintergrund des Bildes erwähnt, kann mit dem Formular Hintergrund einfügen.

Sie können stattdessen das Formular dynamisch über JS, einreichen oder eine regelmäßige Verwendung Taste mit einem transparenten oder weißen Hintergrund vor.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top