使用纯 JS 提交时将数据添加到 DOM
Adding data to DOM on submit with pure JS
谁能告诉我用这个 js 实现相同目标的最佳方法 here:
function ContactController($scope) {
$scope.contacts = ["hi@me.no", "hi@you.com"];
$scope.addMail = function() {
if(this.mailAdress) {
$scope.contacts.push($scope.mailAdress);
$scope.mailAdress = "";
}
};
}
不使用 Angular。我只是想了解如何使用 javascript 将用户输入保存到 DOM。谢谢!
您可以使用 form
元素、具有 required
属性的 input type="email"
元素、onsubmit
事件、event.preventDefault()
、Array.prototype.push()
、Array.prototype.forEach()
, .innerHTML
var contacts = ["hi@me.no", "hi@you.com"],
div = document.getElementById("update");
function updateContacts() {
div.innerHTML = "";
contacts.forEach(function(address) {
div.innerHTML += address + "<br>"
})
}
updateContacts();
document.forms[0].onsubmit = function(event) {
event.preventDefault();
// user input to update `contacts` array
contacts.push(this["input"].value);
// display updated `contacts` array
updateContacts();
}
<div id="update">
</div>
<form>
<input name="input" type="email" required />
<input type="submit" />
</form>
一种相同的方法是
var contacts = ["hi@me.no", "hi@you.com"],
ul = document.querySelectorAll('.email-list')[0];
// Iterate over the contacts and append it to the ul
for (var i = 0; i < contacts.length; i++) {
addEmailToContacts(contacts[i]);
}
function addEmailToContacts(contact) {
var li = document.createElement('li');
li.innerHTML = contact;
ul.appendChild(li);
};
// Click event for the submit
document.querySelector('#submit').addEventListener('click', function(e) {
e.preventDefault();
// Get the value
var value = document.querySelectorAll('input[type="mail"]')[0].value;
if (value) {
addEmailToContacts(value);
}
})
谁能告诉我用这个 js 实现相同目标的最佳方法 here:
function ContactController($scope) {
$scope.contacts = ["hi@me.no", "hi@you.com"];
$scope.addMail = function() {
if(this.mailAdress) {
$scope.contacts.push($scope.mailAdress);
$scope.mailAdress = "";
}
};
}
不使用 Angular。我只是想了解如何使用 javascript 将用户输入保存到 DOM。谢谢!
您可以使用 form
元素、具有 required
属性的 input type="email"
元素、onsubmit
事件、event.preventDefault()
、Array.prototype.push()
、Array.prototype.forEach()
, .innerHTML
var contacts = ["hi@me.no", "hi@you.com"],
div = document.getElementById("update");
function updateContacts() {
div.innerHTML = "";
contacts.forEach(function(address) {
div.innerHTML += address + "<br>"
})
}
updateContacts();
document.forms[0].onsubmit = function(event) {
event.preventDefault();
// user input to update `contacts` array
contacts.push(this["input"].value);
// display updated `contacts` array
updateContacts();
}
<div id="update">
</div>
<form>
<input name="input" type="email" required />
<input type="submit" />
</form>
一种相同的方法是
var contacts = ["hi@me.no", "hi@you.com"],
ul = document.querySelectorAll('.email-list')[0];
// Iterate over the contacts and append it to the ul
for (var i = 0; i < contacts.length; i++) {
addEmailToContacts(contacts[i]);
}
function addEmailToContacts(contact) {
var li = document.createElement('li');
li.innerHTML = contact;
ul.appendChild(li);
};
// Click event for the submit
document.querySelector('#submit').addEventListener('click', function(e) {
e.preventDefault();
// Get the value
var value = document.querySelectorAll('input[type="mail"]')[0].value;
if (value) {
addEmailToContacts(value);
}
})