MozTW 討論區
https://forum.moztw.org/

[已解決][求助][javascript問題].innerHTML取得的輸入框(input)資料是舊的
https://forum.moztw.org/viewtopic.php?f=13&t=27327
1 頁 (共 1 頁)

發表人:  iefiru [ 2009-07-10, 01:18 ]
文章主題 :  [已解決][求助][javascript問題].innerHTML取得的輸入框(input)資料是舊的

狀況描述:
我設計了一個表單,利用每按一次Add呼叫ElementAdd(),就會新增一組已經含有值的輸入框:
代碼:
function ElementAdd(){
    var e = document.getElementById("content");
    e.innerHTML = e.innerHTML + "<input type=\"text\" value=\"default\"/><br/>";
}

當輸入框產生後,我修改了輸入框的內容後,再新增一個輸入框,此時修改過的輸入框的值,又會變回原本的值(default)原意是希望能保留。
按一次Add:
圖檔
修改內容:
圖檔
再按一次Add,此時原本修改的又還原了:
圖檔

瀏覽器:Firefox3.0.11
*使用IE6時正常

完整原始碼:
代碼:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
        <title>Untitled Document</title>
        <script type="text/javascript">
        function ElementAdd(){
       var e = document.getElementById("content");
       e.innerHTML = e.innerHTML + "<input type=\"text\" value=\"default\"/><br/>";
         }
        </script>
    </head>
    <body>
        <a onclick="ElementAdd()">Add</a>
        <form>
            <div id="content">
            </div>
        </form>
    </body>
</html>


請問這種情況該如何解決?

附加檔案:
03.png [956 Bytes]
被下載 273 次
02.png [780 Bytes]
被下載 260 次
01.png [863 Bytes]
被下載 264 次

發表人:  訪客 [ 2009-07-10, 02:17 ]
文章主題 : 

代碼:
function ElementAdd(){
    var e = document.getElementById("content");
    var child = document.createElement("input");
    child.setAttribute("type","text");
    child.setAttribute("value","default");
    e.appendChild(child);
    e.appendChild(document.createElement("br"));
}

發表人:  iefiru [ 2009-07-10, 03:11 ]
文章主題 : 

感謝!問題解決了。
所以說用document.createElement();新增元素才是比較正規的寫法?

1 頁 (共 1 頁) 所有顯示的時間為 UTC + 8 小時
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/