1

これは私のページコードです:

<!DOCTYPE HTML>
<html>
    <head>
        <meta charset="UTF-8">
        <title>Marketing Tracking</title>
    </head>
    <body>
        <form action="#" id="form" method="post">
            <div id="namevalues">
                <span id="span:1">
                    <input type="text" id="name:1" onchange="changed(this)" style="width:300px;"/>
                    <input id="value:1" type="number" min="0" value="0" /><br /></span>
            </div>
            <input type="button" id="add" value="Add 1" />
            <br />
            <textarea name="talk" style="width:500px;height:175px;"></textarea>
            <br />
            <input type="button" id="update" value="Update"/>
        </form>
        <script>
function get(a){return document.getElementById(a);}
    up=get("update");
    up.onclick = function(){
    get("form").submit();
}
get("name:1").onchange = function(){changed(this)};
get("add").onclick = function(){add()};<% z=2 %>
function changed(ele){
    id=ele.id;
    val=ele.value;
    id=id.split(":")[1];
    get("value:"+id).name=get("name:"+id).value;
}
function add(){
    document.getElementById("namevalues").innerHTML+='<span id="span:'+z+'"><input type="text" id="name:'+z+'" onchange="changed(this)" style="width:300px;"/><input id="value:'+z+'" type="number" min="0" value="0" /><br /></span>';
}
        </script>
    </body>
</html>

「1を追加」ボタンを押してテキストを入力し、もう一度「1を追加」ボタンを押すと、入力したばかりのテキストが消える理由について、私は非常に混乱しています。

誰かがこれにいくつかの洞察を与えることができればそれは大いにありがたいです

4

2 に答える 2

2

他の値が消える理由はsomething.innerHTML += something、そうするとそのゾーンの HTML が書き換えられるためです (つまり、以前にあったものがなくなり、新しい新しい HTML に置き換えられます)。おそらくやりたいことは、これに沿ったものです:

function add(){
    var div = document.createElement("div");
    div.innerHTML = '<span id="span [... the rest of the code ...]<br /></span>';
    document.getElementById("namevalues").appendChild(div);
}

を使用appendChildしても、既に div にある他の要素は変更されませんnamevalues

于 2012-06-17T02:13:52.753 に答える
0

ほんの些細なことですが使ってみてください

<script type="text/javascript">

inner.document を使用していたとき、そのコードを追加するまで、あらゆる種類の問題がありました。

于 2012-06-17T02:11:04.377 に答える