Ich benutze jQuery, um Daten in einer HTML-Seite zu lesen. Auf dieser Seite habe ich ein <form>
Element, das einige <input>
Tags enthält, damit Benutzer ihre Werte eingeben können.
Wenn dieses Formular initialisiert wird, hat es einige Standardwerte für diese <input>
Elemente. Wenn ich dieses Formular absende, verwende ich die html()
Methode, um die HTML-Zeichenfolge des aktuellen Status dieser Seite abzurufen, aber ich weiß nicht, warum diese Ergebniszeichenfolge immer noch alte Werte (Standardeingabewerte) enthält, nicht die neuen.
Gibt es eine Möglichkeit, den vom Benutzer eingegebenen Wert auf diese <input>
Elemente zu aktualisieren oder beizubehalten, bevor html()
aufgerufen wird? Wie kann ich die Zeichenfolge, die den neuesten Wert enthält, mithilfe von jQuery-Methoden abrufen?
Vielen Dank!jQuery: html() -Funktion bekomme alte Daten im Formular
Antwort
Allerdings ist es seltsam, was Sie versuchen zu tun, aber alles, was Sie brauchen, ist das value-Attribut der Formularelemente zu aktualisieren. Es kann mit dem folgenden Code (Put es in Form submit
Handler) erfolgen:
$("form input").attr("value", function() {
return this.value;
});
Vielen Dank. Eigentlich hat mir dein Vorschlag nicht geholfen, dieses Problem zu lösen, aber es gab mir einen Hinweis darauf, weiterzumachen. Ich habe versucht, die Demo, die Sie auf jsfiddle erstellt, es funktionierte mit jQuery 1.7.1, aber wenn ich es auf 1.5.2 downgrade, verursachte es Fehler^_ ^. Also denke ich, dass es in jQuery 1.5.2 etwas Geheimnisvolles gibt, das ich tiefer erforschen werde. Ich habe deinen Hinweis auf einen anderen Weg angewendet: '$ (" Formulareingabe ").attr ("defaultValue", Funktion() { return this.value; }); ' und es hat super funktioniert! –
standardmäßig die jQuery html()
Funktion wird die defaultValue
und defaultChecked
Eigenschaften bewahren anstatt die aktuellen Werte/Selektionen (genau wie JavaScript innerHTML
). Um dies zu umgehen, müssen Sie zuerst die jQuery prop()
: Read the Documentation on prop() verwenden.
Zum Beispiel den Code gegeben:
<form action='/'>
<input type='radio' value='1' checked name='first' />
<input type='radio' value='2' name='first' />
<input type='checkbox' value='yes' />
<input type='text' value='Start Text' name='second' />
</form>
dann
$('form').html()
Wird immer ausgegeben, dass genaue Code, unabhängig davon, welche Werte Sie haben hinzugefügt/ausgewählt/geändert.
Um das zu beheben, nur eine Funktion ausführen des Elements Werte zu Eigenschaften konvertieren:
$("form input[type='radio']").each(function(){
if (this.checked){
$(this).prop("defaultChecked",true);
} else {
$(this).prop("defaultChecked",false);
}
});
$("form input[type='checkbox']").each(function(){
if (this.checked){
$(this).prop("defaultChecked",true);
} else {
$(this).prop("defaultChecked",false);
}
});
$("form input[type='text']").each(function(){
$(this).prop("defaultValue",$(this).val());
});
alert($(form).html()); //or var the_code = $(form).html();
Sie werden nun die HTML als die aktuelle Seite Zustand ist die Anzeige haben.
Das TextArea- Bit ist ein bisschen anders, wenn Sie suchen, wie dieses Element Typ zu tun:
$("textarea").html(function() {
return this.value;
});
- 1. HTML-Formular mit jQuery
- 2. Callback-Funktion für jQuery .html()?
- 3. HTML-Formular mit JavaScript-Funktion
- 4. Prepopulate jQuery Daten in html
- 5. Löschen-Funktion in HTML-Upload-Formular
- 6. Holen Sie sich alte Daten im PreUpdate Sonata Admin Bundle
- 7. Wie werden alte Daten und alte Graphen in Chart.js gelöscht?
- 8. ggplot2 + Weltkarte = alte Daten?
- 9. SQLite löschen alte Daten
- 10. justin.tv jquery bekomme einige Daten
- 11. jquery - Wie bekomme ich XML-Daten
- 12. Unerwünschte Attribute im Formular output-jQuery/php
- 13. Wie Daten vom HTML-Formular zu Controller
- 14. Socket.io Client emittieren alte Daten
- 15. Zugriff auf HTML-Element im Formular
- 16. jQuery AJAX-Formular mit mail() PHP-Skript sendet E-Mail, aber POST-Daten aus HTML-Formular ist undefined
- 17. Formular zu Formular jQuery
- 18. Wie bekomme ich Add, Edit, Next & Previous Buttons im HTML Formular
- 19. Wie bekomme ich das Formular html() über jQuery, einschließlich aktualisierter Wertattribute?
- 20. jQuery ajax datatable zeigt einige Sekunden lang alte Daten an?
- 21. Alte Aktivität fortsetzen, indem neue Daten im Bündel übergeben werden
- 22. HTML Formular Slider Group
- 23. jquery: Follow-up-HTML mit Funktion?
- 24. JSON-Daten im HTML-Tabellenformat anzeigen
- 25. klicken Sie auf Funktion im Formular
- 26. Formular senden von jQuery gibt 'null' Daten
- 27. Alte URL #ID mit JQuery Taste
- 28. Wie bekomme ich alle Daten aus dem lokalen Speicher, um sie im Formular anzuzeigen?
- 29. Archiv alte Daten in Mongoengine
- 30. Jquery Funktion zum Aktualisieren von HTML
wo Ihr Code ist ..! –
Warum brauchen Sie * um die HTML-Zeichenfolge des aktuellen Status dieser Seite * zu erhalten? – VisioN
Warum verwenden Sie HTML, um die gesamte Seite zu erhalten, scheint seltsam. Sie sollten in der Lage sein, alle Werte aus dem Formular mit serialize auszuwählen, wenn Sie danach suchen. –