简体   繁体   English

Javascript / CSS 如何制作具有不同数据的多个 div 元素并输入到同一个输入表单中

[英]Javascript / CSS How to make several div elements with different data that are entered into the same input form

How does one create a new div through the input form (using the button) a div appears with the data that was entered last?如何通过输入表单(使用按钮)创建一个新的 div 一个 div 与最后输入的数据一起出现?

I want to create a new div with data from input form.我想用输入表单中的数据创建一个新的 div。 Next I want to create a new div using the same.接下来我想使用相同的方法创建一个新的 div。 But using a new data record only for the first div and another that i created div's doesn't have any data.但是仅对第一个 div 使用新数据记录,而我创建的另一个 div 没有任何数据。

How do I go about making that new input = new div+new data from this input&我如何着手制作新输入 = 来自该输入的新 div+新数据&

let infoData = {
    budget: 0,
    expenses: 0,
    balance: 0,
    expenseObj: {
        name: "",
        amount: 0
    },
    budgetSubmit: function() {
        infoData.budget = parseInt(document.getElementById('budget-input').value);
        budgetAmount = infoData.budget;
        document.getElementById('budget-amount').innerHTML=budgetAmount;
    },
    expenseSubmit: function() {
        infoData.expenses = parseInt(document.getElementById('expense-input').value);
        expenseName = document.getElementById('expense-name').value;
        infoData.expenseObj.name = expenseName;
        expenseAmount = infoData.expenses;
        infoData.expenseObj.amount = expenseAmount;
        document.getElementById('expense-amount').innerHTML=expenseAmount;
    },
    balanceSubmit: function() {
        infoData.balance = infoData.budget;
        balanceAmount = infoData.balance;
        document.getElementById('balance-amount').innerHTML=balanceAmount;
    } 
}

calcBtn.addEventListener('click', function() {
    infoData.budgetSubmit();
    infoData.balanceSubmit();
});

addExpBtn.addEventListener('click', function() {
    infoData.expenseSubmit();
});

addExpBtn.addEventListener('click', function(event) {
    balanceAmount = balanceAmount - expenseAmount;
    document.getElementById('balance-amount').innerHTML=balanceAmount;
});

let divEvent = document.getElementById('expense-row');

if (typeof(divEvent) !== "undefined") {
    addExpBtn.addEventListener('click', function(event) {
        const divExpense = document.createElement('div');

        divExpense.className = 'div-expense';

        divExpense.innerHTML = `
        <p>
            <b class="text-uppercase">name: </b><span id="div-expense-name">Name</span>
        </p>
        <p>
            <b class="text-uppercase">amount: </b><span id="div-expense-amount">0</span>₴
        </p>
        <p>
            <span id="div-expense-delete">Delete</span>
        </p>`;

        document.getElementById('expense-row').appendChild(divExpense);
        document.getElementById('div-expense-name').innerHTML=infoData.expenseObj.name;
        document.getElementById('div-expense-amount').innerHTML=infoData.expenseObj.amount;
    });
}

You will have to create the div when you press the button, you could do this:您必须在按下按钮时创建 div,您可以这样做:

    $("button").click(function(){
      const newDiv = document.createElement("div");
      const newDivText = document.createTextNode("");
      $(newDivText).append($("input").val());
      $(newDiv).append(newDivText);
      $(document).append(newDiv);
    });

I think that is what you're after.我认为这就是你所追求的。 If you need any explanation, let me know.如果您需要任何解释,请告诉我。

 function addDiv(event){ event.preventDefault(); var input= document.getElementsByTagName("input")[0]; var div = document.createElement('div'); div.innerHTML = input.value; document.body.appendChild(div); input.value=''; }
 <form action ="#"> <input type=text/> <button onclick='addDiv(event)'type='submit'>Submit</button> </form>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何通过输入包含上载图像的html表单的数据在div中创建诸如文本之类的元素? - How to create elements such as text within a div from the data entered a html form including an uploaded image? 如何使输入框中的第三个项目具有不同的颜色? (JS、HTML、CSS) - How can I make the third item entered into an input box a different color? (JS, HTML, CSS) 如何将JavaScript函数应用于同一类下的多个不同元素(结果不同)? - How can I apply JavaScript function to several different elements under the same class (with different results)? 如何将以html形式输入的输入传递给相同形式的操作 - How to pass the input entered in an html form to the action of the same form 如何使用相同的javascript控制表单中的不同元素 - How to control different elements in the form using same javascript 如何在两个div中使用不同的数据提供相同的作用域? - How to make the same scope available in two div's with different data? 如何使用JavaScript在同一div中显示表单数据? - How to show form data in same div using Javascript? 在输入掩码中,如何使输入的文本具有不同的颜色? - In an input mask, how I make the entered text a different color? 如何在纯JavaScript中输入表单输入时禁止使用特定字符? - How to disallow specific characters when entered in a form input in plain JavaScript? 将相同的数据绑定到angularJS中的不同表单元素 - Bind the same data to different form elements in angularJS
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM