フォームのすべてのフィールド値を単一のオブジェクトに変換する次のコードがあります。ただし、動的にロードされる隠しフィールドは変換されません(ただし、値がハードコードされている場合は変換されます)。serializeArray()は動的にロードされた隠しフィールドでは機能しません
私の研究によると、serializeArray()は、名前を持つ限り、隠しフィールドをカバーする必要があります。私には名前があります。だからここで何が間違っているのか分からない。
serializeArray():jQueryの
を使用して隠しフィールド値のvar data = {};
$("#form1").serializeArray().forEach(function(x){
data[x.name] = x.value;
});
console.log(data);
動的ロード
$("#field1").val("400"); //400 is just an example here
フォーム:
serializeArra:問題の
<form id="form1">
<!-- Not serialized -->
<input type="hidden" name="field-value.hidden.1" id="field1" value=""/>
<div class="container">
<div class="row">
<div class="col-sm-12">
<!-- Works fine -->
<textarea id="field2" name="field-value.show.1" rows="3" cols="10"></textarea>
</div>
</div>
</div>
</form>
概要
<input type="hidden" name="field-value.hidden.1" id="field1" value="400"/>
それがあるない場合:入力がどのように見える場合は、yは動作します、私はちょうどここ読んでから発見
<input type="hidden" name="field-value.hidden.1" id="field1" value=""/>
$("#field1").val("400");