#javascript
#javascript
Вопрос:
Может кто-нибудь помочь мне, пожалуйста, с этим?
Итак, у меня есть два текстовых поля: одно для дня месяца, одно для фактического текста (название события). Затем есть кнопка для запуска кода и размещения события. Это должно перезаписать все, что ранее было событием для этого дня. Я пытался написать для него функцию, но это не сработало. У меня есть dayEvent на каждый день в месяц.
<p>Enter a day: <input type="text" id="enter_day" /></p>
<p>Enter an event: <input type="text" id="enter_day" /></p>
<input type="button" onclick="myEvent()" value="Click here" />
var dayEvent = new Array();
function myEvent() {
var newEvent = document.getElementById('enter_day').value;
var dayForEvent = document.getElementById('enter_day').value;
dayEvent[dayForEvent] = newEvent;
}
dayEvent[1] =
"<br /><a href='#'>Giveaway with Cesar Millan</a><br />12 am <br />online";
dayEvent[2] =
"<br /><a href='#'>Classic Cinema: Wings</a><br />7 pm <br />at AMC Empire 25";
Комментарии:
1. Оба входа имеют идентификатор
enter_day
. Это опечатка в этом вопросе или ошибка в вашем коде?2. Привет, Настя, мой ответ решил твою проблему?
3. Рад, что смог помочь 🙂 Не были бы вы так любезны отметить ответ как принятый, нажав на большую серую кнопку проверки с левой стороны?
Ответ №1:
Исправление проблемы с дублирующимся идентификатором исправляет ваш код:
var dayEvent = [
"<br/><a href='#'>Giveaway with Cesar Millan</a><br/>12 am <br/>online",
"<br/><a href='#'>Classic Cinema: Wings</a><br/>7 pm <br/>at AMC Empire 25"
];
function myEvent() {
var newEvent = document.getElementById('enter_event').value;
var dayForEvent = document.getElementById('enter_day').value;
dayEvent[dayForEvent] = newEvent;
console.info("Array after change: ", dayEvent)
}
console.info("Array before change: ", dayEvent)
<p>Enter a day: <input type="text" id="enter_day" /></p>
<p>Enter an event: <input type="text" id="enter_event" /></p>
<input type="button" onclick="myEvent()" value="Click here" />
Обратите внимание, что я изменил ваш код, чтобы использовать синтаксис объявления буквального массива с квадратными скобками.
Далее, помните, что индексы массива начинаются с 0
, а не 1
.
Наконец, я бы посоветовал вам использовать ввод с type="number"
для ввода дня или выполнить некоторую проверку самостоятельно с parseInt()
помощью или подобного.