[英]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.