Mon 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" />
Lorsque je lance l'événement click, formData est vide. J'utilise jQuery 1.4.2.
Bien que cela ne s'applique pas à cet exemple particulier, le même comportement se produit si une ou plusieurs entrées de formulaire sont
disabled
. Ces entrées n'apparaîtront pas dans la chaîne sérialisée. Dans mon cas, toutes les entrées de formulaire avaient des valeurs mais étaient désactivées, ce qui entraînait le retour d'une chaîne vide.la source
serialize
extension jQuery qui itère sur les entrées et inclut celles désactivées. Mais il n'y a aucun moyen de le faire, pour autant que je sache, en utilisant jQuery prêt à l'emploi.Il n'y a pas d'
name
attribut dans l'entrée ... qui peut être un problème pour la sérialisation.la source
Assurez-vous également qu'il n'y a pas 2 éléments avec le même identifiant sur la page.
la source