#javascript #html
#javascript #HTML
Вопрос:
Уважаемые друзья,
Я студент веб-разработки и самоучка. Кроме того, я изучаю DOM с помощью Javascript. Я создаю простой формуляр с целью играть с позициями, менять цвета и управлять DOM и т. Д. Я хочу создать несколько участников и отобразить их в списке.
Это часть моего HTML-кода.
<label>Nombre: </label>
<input id="addNombre" type="text"/>
<label>Color :</label>
<input id="addNombre" type="text"/>
<button onclick="AddCompetidor()">Añade Participante</button>
Я сделал и переделал много функций JS, это последняя, которую я сделал.
function AddCompetidor(){
var nombre = document.getElementById("addNombre");
var color = document.getElementById("addColor");
alert (nombre,color);
}
Я пробовал с другими функциями, как создать массив, но я не знаю, лучший ли это способ подойти к нему.
Большое спасибо!!
Комментарии:
1. Вам нужно найти способ создать массив со значениями входных данных?
Ответ №1:
Вот комплексное решение с комментариями.
const form = document.getElementById("form");
const list = document.getElementById("list");
// let's handle the form submit event
form.addEventListener("submit", (e) => {
// this will prevent the form from doing network request
e.preventDefault();
// lets get input elements from form by their ids
const { nombre, color } = e.target.elements;
// lets add new elements in the list
const li = document.createElement("li");
li.innerHTML = `${nombre.value} — ${color.value}`;
list.appendChild(li);
// lets clear the form
nombre.value = "";
color.value = "";
});
<form id="form">
<label>Nombre: </label>
<input id="nombre" type="text" />
<label>Color :</label>
<input id="color" type="text" />
<button>Añade Participante</button>
</form>
<ul id="list"></ul>
Комментарии:
1. Ты потрясающий, Сергей, я надеюсь когда-нибудь стать таким же хорошим разработчиком, как ты!!
Ответ №2:
Если вы хотите создать массив входных значений HTML, используйте:
var array = [nombre.value, color.value]
Квадратные скобки определяют новый массив, и при получении value
параметра получается то, что находится внутри <input>
тега.
Ответ №3:
вы должны получить правильный идентификатор элемента:
<label>Nombre: </label>
<input id="nombre" type="text"/>
<label>Color :</label>
<input id="color" type="text"/>
<button onclick="AddCompetidor()">Añade Participante</button>
<script type="text/javascript">
function AddCompetidor(){
var nombre = document.getElementById("nombre").value;
var color = document.getElementById("color").value;
alert (nombre color);
}
</script>
Комментарии:
1. Спасибо, Мустафа, я продолжу свое упражнение: D
Ответ №4:
Вы можете определить класс
классные игроки {
constructor( nombre , color){
this.nombre = nombre;
this.color = color;
}}
и создайте столько объектов и добавьте каждый объект в массив, подобный этому
var obj = новые игроки (nombarvalue, colorvalue);
список переменных = [];
list.push(obj);
затем выполните итерацию этого массива объектов для печати списка
Комментарии:
1. Он создает несколько объектов player, но вопрос задает только массив.