Mein HTML:
<script type="text/javascript">
$(function() {
$("#bt1").click(function() {
var f = $("#form1");
var formData = f.serialize();
alert(formData);
});
});
</script>
<div id="div1">
<form id="form1" action="/Home/Test1" method="post" name="down">
<div id="div2">
<input id="input1" type="text" value="2" />
</div>
</form>
</div>
<input type="submit" id="bt1" />
Wenn ich das Klickereignis starte, ist formData leer. Ich verwende jQuery 1.4.2.
Obwohl dies für dieses spezielle Beispiel nicht gilt, tritt dasselbe Verhalten auf, wenn eine oder mehrere Formulareingaben vorliegen
disabled
. Diese Eingaben werden in der serialisierten Zeichenfolge nicht angezeigt. In meinem Fall hatten alle Formulareingaben Werte, wurden jedoch deaktiviert, was dazu führte, dass eine leere Zeichenfolge zurückgegeben wurde.quelle
serialize
jQuery-Erweiterung schreiben , die die Eingaben durchläuft und deaktivierte enthält. Soweit ich weiß, gibt es jedoch keine Möglichkeit, sofort einsatzbereite jQuery zu verwenden.name
Die Eingabe enthält kein Attribut. Dies kann ein Problem bei der Serialisierung sein.quelle
Stellen Sie außerdem sicher, dass auf der Seite keine 2 Elemente mit derselben ID vorhanden sind.
quelle