Ich möchte ein Formular einreichen. Aber ich gehe nicht die grundlegende Art und Weise, eine Eingabeschaltfläche mit Submit-Typ zu verwenden, sondern einen Link.
Das Bild unten zeigt warum. Ich verwende Bildlinks, um das Formular zu speichern / zu senden. Da ich ein Standard-CSS-Markup für Bildlinks habe, möchte ich keine Eingabeschaltflächen verwenden.
Ich habe versucht, onClick = "document.formName.submit ()" auf das a-Element anzuwenden, aber ich würde eine HTML-Methode bevorzugen.
Irgendwelche Ideen?
Antworten:
Zwei Wege. Erstellen Sie entweder eine Schaltfläche und gestalten Sie sie so, dass sie wie ein Link mit CSS aussieht, oder erstellen Sie einen Link und verwenden Sie ihn
onclick="this.closest('form').submit();return false;"
.quelle
form.submit()
dies ohne JavaScript nicht funktioniertinput[type=submit].link { border: none; background: none; display: inline; color: blue; text-decoration: underline; }
und<input type=submit class="link" />
Sie können dies nicht wirklich tun, ohne nach meinem besten Wissen Skripte zu erstellen.
Beispiel von hier .
quelle
Nur so zu stylen
input type="submit"
hat bei mir funktioniert:Getestet in Chrome, IE 7-9, Firefox
quelle
input
Element mithilfe von CSS-Selektoren auswählen, ohne eine Klasse an das HTML-Element anzuhängen.Sie verwenden Bilder zum Senden. Sie können also einfach eine
type="image"
Eingabe-Schaltfläche verwenden:quelle
<button>
Element mit einem<img/>
Element darin.verwenden:
oder:
plus etwas CSS
quelle
Mit reinem HTML gibt es definitiv keine Lösung, um ein Formular mit einem link (
a
) -Tag zu senden . Das Standard-HTML akzeptiert nur Schaltflächen oder Bilder. Wie einige andere Mitarbeiter gesagt haben, kann man das Erscheinungsbild eines Links mithilfe einer Schaltfläche simulieren, aber ich denke, das ist nicht der Zweck der Frage.IMHO glaube ich, dass die vorgeschlagene und akzeptierte Lösung nicht funktioniert.
Ich habe es auf einem Formular getestet und der Browser hat den Verweis auf das Formular nicht gefunden.
Es ist also möglich, es mit einer einzelnen Zeile JavaScript unter Verwendung eines
this
Objekts zu lösen , das auf das angeklickte Element verweist, bei dem es sich um einen untergeordneten Knoten des Formulars handelt, das gesendet werden muss. Sothis.parentNode
ist der Formularknoten. Nachdem es nursubmit()
Methode in dieser Form aufgerufen hat. Es ist keine notwendige Recherche aus dem gesamten Dokument erforderlich, um die richtige Form zu finden.Angenommen, ich gebe mit meinem eigenen Namen ein:
Ich habe das
get
Attribut form method verwendet, da es möglich ist, die richtigen Parameter in der URL auf der geladenen Seite nach dem Senden anzuzeigen.Diese Lösung gilt natürlich für alle Tags, die das
onclick
Ereignis oder ein ähnliches Ereignis akzeptieren .this
ist eine ausgezeichnete Wahl, um den Kontext zusammen mit einerevent
Variablen (verfügbar in allen gängigen Browsern und ab IE9) wiederherzustellen, die direkt verwendet oder als Argument an eine Funktion übergeben werden kann.Ersetzen Sie in diesem Fall die Zeile durch ein
a
Tag durch die folgende Zeile. Verwenden Sie dazu die Eigenschafttarget
, die das Element angibt, das das Ereignis gestartet hat.quelle
Stackoverflow
. Ich hoffe, dass Ihre Korrekturen mir helfen, meinen Stil zu verbessern. Mein Englisch ist auch nicht gut.Sie können OnClick = "document.getElementById ('formID_NOT_NAME'). SUBMIT ()" verwenden.
quelle