javascript
  • ajax
  • dom
  • 2010-05-12 56 views 2 likes 
    2

    我正在用AJAX創建表單。我創建了形式的方法是寫出在div的innerHTML的HTML表單元素,其中,我把形式DOM:我無法訪問動態創建的元素。有什麼問題

    div.innerHTML += '&nbsp;<input type="text" name="day" id="eventDay" size="2" maxlength="2" value="'+response.day+'" />,'; 
    div.innerHTML += '&nbsp;20<input type="text" name="year" id="eventYear" size="2" maxlength="2" value="'+response.year+'" /><br /><br />'; 
    

    我也試過用document.createElement('input');這樣做,但這個是給我問題也是如此。一旦創建了表單,當我嘗試使用另一個AJAX函數提交值時,例如,我無法通過使用document.getElementById('eventDay').value;來訪問輸入框的值。我不想直接使用HTTP提交表單,而是想用AJAX函數提交表單。我不知道爲什麼我不能從其他函數訪問這些輸入框的值。請幫忙!

    +0

    你有什麼問題,當您使用「使用document.createElement(‘輸入’)」你得到創建的元素? – MunkiPhD 2010-05-12 17:01:33

    +0

    您可以在創建完頁面後看到頁面源代碼中的元素嗎? – Shaded 2010-05-12 17:09:12

    +0

    感謝您的評論。如果我沒有看過html源代碼,我永遠都不會知道。我正在用JavaScript創建的HTML表單替換舊的HTML表單,但我沒有擺脫舊的HTML。 – smfoote 2010-05-12 21:28:40

    回答

    0

    我勉強地不得不承認,我在頁面上使用與我使用的輸入框相同的ID的其他元素。所以,這個答案是,我沒有足夠好地檢查我的html,並認爲問題是與JavaScript。謝謝您的幫助。

    1

    也許試試div.appendChild(),而是傳遞原始html。

    或者您可以創建節點(document.createElement),然後通過inputvarname.setAttribute()正確添加屬性。完成後,然後將該節點作爲子節點附加到div。

    0

    ,如果你使用jQuery使用live功能

    相關問題