1

を使用してユーザーの入力のリストを作成するにはどうすればよいcreateElement()ですか?誰かがprompt("enter text")ボックスにテキストを追加すると、画面に表示されるようなもの。調べてみましcreateElement()たが、それでも変数を使って最新の入力しか表示できません。

編集:

<script>

function myFunction()
{
var user =prompt("Enter your name:")
var text =prompt("Hello " + user + ". Enter some text:")
count++;
document.getElementById("count").innerHTML=count;
document.getElementById("latest").innerHTML=text;
}

</script>

<p>Total: <span id="count">0</span></p>
<p>Latest blocked term: <span id="latest"></span></p>
<button onclick="myFunction()">Click</button>

関係のない部分を切り取ったので、うまくいくといいですね。

4

3 に答える 3

1

ユーザーがプロンプトにテキストを入力するたびに入力ボックスを作成する必要があります

function addInput(){
    var text = prompt("");
    var input = document.createElement('input');
    input.value = text;
    document.body.appendChild(input);

}
于 2013-03-21T20:09:28.837 に答える
0

超短い方法:

function renderInput(){
    document.getElementById("latest").innerHTML += prompt("What is your name?") + "<br />";
}

あなたの例を使用して:

<script>
    function myFunction() {
        document.getElementById("latest").innerHTML += prompt("Enter some text:") + "<br />";
    }
</script>

<p>Latest text: <span id="latest"></span></p>
于 2013-03-21T20:17:08.463 に答える
0

ここには2つのオプションがあります。

DOMの方法

これは、で検索する方法ですcreateElement。DOMが既に存在するため、DOMと対話できるため、ある意味で最良の方法です。ただし、必要 createElementはありません。実際に使用する必要がありますcreateTextNode。これは、缶に書かれていることを実行します。

function myFunction() {
    var name = prompt("Enter some text:"),
        node = document.createTextNode(name);
    document.getElementById('latest').appendChild(node);
}

jsFiddleの例

(これにより、要素の最後にテキストが追加されます。すでに存在するコンテンツは削除されません。)

現実的な方法

DOM関数を使用することはすべてうまくいきますが、実際には慣用的なJavascriptではありません。実際にinnerHTMLは、おそらく使用する必要があるプロパティです。ブラウザはHTMLの解析に非常に優れているため(結局のところ、ブラウザはそのために構築されています!)、これはDOMメソッドよりもほぼ確実に高速です。

function myFunction() {
    var name = prompt("Enter some text:");
    document.getElementById('latest').innerHTML = name; // to overwrite the existing contents
    document.getElementById('latest').innerHTML += name; // to add to the existing contents
}

jsFiddleの例

を使用するなど、他の方法もありますがcreateDocumentFragment、この2番目の方法はほぼ間違いなくあなたが行く方法です。

于 2013-03-21T20:27:01.617 に答える