在我的頁面上輸入我有一個虛擬的形式是這樣的:的JQuery填寫的分離形式(隱藏填寫,但其他人都沒有)
<div id="form_container">
<form id="new_form" action="...">
<input type="hidden" id="hidden_field" name=...>
<input type="text" id="text_field" name=...>
<... submit button ...>
</form>
</div>
的輸入值是最初爲空。
我需要重新從時間這個表格的時間我與在田間不同的值頁面上。我做什麼:首先我從DOM分離形式的容器,並將其存儲在一個變量:
var dummyForm = $('#form_container').detach();
然後,當我需要的形式彈出我做了一些功能:
var newForm = dummyForm .clone()
$('#hidden_field', newForm).val(dataForHidden);
$('#text_field', newForm).val(dataForText);
而且那麼newForm
通過將其附加到頁面上的某個元素使其可見。
,但是當我檢查導致的輸入HTML(或我只是檢查在JS調試newForm.html()
)它看起來像這樣:
<input type="hidden" id="hidden_field" name=... value="xxx">
<input type="text" id="text_field" name=...>
即隱藏字段的值已設置,但對於文本字段則丟失。
我的問題是: 1)這是一個錯誤,已知問題,按設計的功能,或者我做錯了什麼? 2)如何解決?
我可以想到當表單已經附加到DOM時填入字段值的解決方案,但在我的情況下,這可能是一個問題,因爲它正通過一些回調鏈被另一個庫附加到DOM。
P.S.我能夠做$('#text_field', newForm).attr('value', dataForText);
,但仍然不知道爲什麼val()
作品隱藏字段但不支持其他類型的解決這個問題。
謝謝,這是我想到現在和它的作品,但仍然不知道爲什麼'纈氨酸()'適用於隱藏字段但不支持其他類型。 – khustochka