我有一个带有选择的表单,可以创建元素.我怎么能做到这一点元素只创建一次

I have a form with select which creates elements. How I can do that elements creates only once?

本文关键字:创建 元素 这一点 一次 怎么能 表单 有一个 有选择      更新时间:2023-09-26

我有JS代码,可以根据html创建段落和输入元素。但是我只需要这段代码来创建每个元素一次。

Javascript代码的和平

function comFunction(sel) {
   switch (sel.value) {
        case 'skype':
            var skype = document.createElement("P");
            var temp = document.createTextNode("Enter your skype");
            var input = document.createElement("input");
            input.type = "text";
            skype.appendChild(temp);
            form.appendChild(skype);
            form.appendChild(input);
            break;
}

网页代码

<form id="form">
<select name="liason" id="liason" onchange="comFunction(this);">
    <option value="skype">Skype</option>
    <option value="icq">ICQ</option>
    <option value="facebook">Facebook</option>
    <option value="email">e-mail</option>
</select>
</form>
如果将

id 添加到正在创建并追加到 DOM 的元素,则可以在运行将再次创建它们的代码之前检查它们是否存在:

 function comFunction(sel) {
   switch (sel.value) {
    case 'skype':
        if(document.getElementById("skypeParagraph") === null) {
           var skype = document.createElement("P");
           skype.setAttribute("id", "skypeParagraph");
           var temp = document.createTextNode("Enter your skype");
           var input = document.createElement("input");
           input.type = "text";
           skype.appendChild(temp);
           form.appendChild(skype);
           form.appendChild(input);
        }
        break;
 }