52 Stimmen

ein Tag als Schaltfläche zum Senden?

Hallo, ich versuche, "a" Tag als eine Schaltfläche einreichen zu bekommen. Ich habe irgendwo im Web einen Code gefunden. Aber es hat nicht funktioniert.

<a href="#" onclick="this.form.submit()">Submit</a>

Gibt es einen Code, mit dem ich meinen Bedarf decken kann?

47voto

James Allardice Punkte 161987

Geben Sie den form eine id und dann:

document.getElementById("yourFormId").submit();

Die beste Vorgehensweise wäre wahrscheinlich, den Link mit einem id zu, und werden Sie den Event-Handler los:

document.getElementById("yourLinkId").onclick = function() {
    document.getElementById("yourFormId").submit();
}

40voto

ComFreek Punkte 28122

Probieren Sie diesen Code aus:

<form id="myform">
  <!-- form elements -->
  <a href="#" onclick="document.getElementById('myform').submit()">Submit</a>
</form>

Benutzer mit deaktiviertem JavaScript können das Formular jedoch nicht abschicken. Sie können daher den folgenden Code hinzufügen:

<noscript>
  <input type="submit" value="Submit form!" />
</noscript>

18voto

amosrivera Punkte 25308

Angenommen, das Formular ist das direkte Elternteil, das Sie tun können:

<a href='#' onclick='this.parentNode.submit(); return false;'>submit</a>

Falls nicht, können Sie über das Attribut name des Formulars wie folgt zugreifen:

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

Beide Beispiele finden Sie hier: http://jsfiddle.net/WEZDC/1/

8voto

Diego Graziano Punkte 91

Dies ist eine Verbesserung von @ComFreek ans:

<form id="myform">
  <!-- form elements -->
  <a href="javascript:;" onclick="document.getElementById('myform').submit()">Submit</a>
</form>

So wird die Aktion nicht ausgelöst und Ihre Seite neu geladen. Vor allem, wenn Sie mit einem Rahmen mit SPA entwickeln.

1voto

Praveen Punkte 1461

Versuchen Sie etwas wie das Folgende

 <a href="#" onclick="this.forms['formName'].submit()">Submit</a>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X