senden Sie das Formular mit ajax
Entwickle ich eine Anwendung (eine Art Soziales Netzwerk für meine Universität). Ich muss einen Kommentar hinzufügen (einfügen einer Zeile in einer bestimmten Datenbank). Um dies zu tun, ich habe ein HTML-Formular in meine html-Seite mit verschiedenen Feldern. Zum Zeitpunkt der reichen ich glaube nicht, verwenden Sie die Aktion Formular, aber ich benutze eine benutzerdefinierte javascript-Funktion, um aufwändige einige Daten vor dem Absenden.
function sendMyComment() {
var oForm = document.forms['addComment'];
var input_video_id = document.createElement("input");
var input_video_time = document.createElement("input");
input_video_id.setAttribute("type", "hidden");
input_video_id.setAttribute("name", "video_id");
input_video_id.setAttribute("id", "video_id");
input_video_id.setAttribute("value", document.getElementById('video_id').innerHTML);
input_video_time.setAttribute("type", "hidden");
input_video_time.setAttribute("name", "video_time");
input_video_time.setAttribute("id", "video_time");
input_video_time.setAttribute("value", document.getElementById('time').innerHTML);
oForm.appendChild(input_video_id);
oForm.appendChild(input_video_time);
document.forms['addComment'].submit();
}
Der letzten Zeile das Formular absendet, um die richtige Seite. Es funktioniert einwandfrei. Aber ich würde gerne ajax verwenden, die für die Einreichung der form, und ich habe keine Ahnung, wie zu tun, weil ich habe keine Ahnung, wie catch-form-input-Werte. wer kann mir helfen?
- haben Sie die Suche ? überprüfen Sie diese links, stackoverflow.com/questions/2530635/... und stackoverflow.com/questions/1960240/jquery-ajax-submit-form
Du musst angemeldet sein, um einen Kommentar abzugeben.
Niemand hat tatsächlich eine Reine
javascript
Antwort (wie gefordert durch die OP), so ist es hier:In Ihrem Fall:
req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
damit Sie richtig funktionieren.Was
Können Sie eine onclick-Funktion auf Ihrer submit-button, aber Sie werden nicht in der Lage, senden Sie Ihre Funktion durch drücken der EINGABETASTE. Für meinen Teil, benutze ich dieses:
Hoffe, es hilft.
Hier ist eine Universelle Lösung, durchläuft jedes Feld in der form und erzeugt den request-string automatisch. Es ist mit neuen fetch API. Liest automatisch form-Attribute:
method
undaction
und packt alle Felder innerhalb des Formulars. Unterstützung des single-dimension array-Felder, wieemails[]
. Als Universelle Lösung zur einfachen Verwaltung viele (möglicherweise dynamische) Formen mit " single source of truth - html.Ich würde vorschlagen, um jquery verwenden für diese Art von Anforderung . Geben Sie diesem einen Versuch
var working = false
hat nichts auf seine eigene. Ich bin angenommen, Sie würden es in eine bedingte um zu verhindern, dass mehrere unterwirft.Es ist viel einfacher zu benutzen Sie einfach jQuery, da dies nur eine Aufgabe für die Universität, und Sie brauchen nicht zu speichern code.
So, Ihr code wird wie folgt Aussehen: