2012-04-30 33 views
0

在我的頁面上輸入我有一個虛擬的形式是這樣的:的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()作品隱藏字段但不支持其他類型的解決這個問題。

回答

1

您可以嘗試使用ATTR jQuery中 http://api.jquery.com/attr/

+0

謝謝,這是我想到現在和它的作品,但仍然不知道爲什麼'纈氨酸()'適用於隱藏字段但不支持其他類型。 – khustochka