Как изменить свойство объекта при клике в JavaScript?

Привет, у меня возникла проблема с JavaScript. Я пытаюсь сделать так, чтобы при нажатии на чекбокс в форме объект newBulletin получал новое свойство ‘location’. Также хочу, чтобы при отправке формы менялось CSS-свойство display у определенного div’а с ‘none’ на ‘block’, а сам объект newBulletin добавлялся в массив.

Вот часть моего кода:

function addLocation(location) {
    newBulletin.location = 'Home';
}

function appendNewBulletin() {
    if(newBulletin.location === 'Home') {
        document.getElementById('post1').style.display = 'block';
    }
    bulletinArray.push(newBulletin);
}

Функции вызываются, но не меняют свойство объекта и CSS. Что я делаю не так? Буду благодарен за помощь!

мне кажется, проблема может быть в том, что функции не связаны с событиями. попробуй использовать addEventListener, чтобы привязать функции к нужным элементам. например:

document.getElementById(‘locationCheckbox’).addEventListener(‘change’, function() {
addLocation(this.checked ? ‘Home’ : ‘’);
});

document.getElementById(‘bulletinForm’).addEventListener(‘submit’, function(e) {
e.preventDefault();
appendNewBulletin();
});

эти слушатели будут реагировать на изменение чекбокса и отправку формы. так ты сможешь обновлять объект и менять стили при нужных действиях пользователя. удачи!

Хм, кажется проблема в том, как вы привязываете функции к событиям. Попробуйте использовать addEventListener для чекбокса и формы. Например:

checkbox.addEventListener(‘change’, function() {
newBulletin.location = this.checked ? ‘Home’ : ‘’;
});

form.addEventListener(‘submit’, function(e) {
e.preventDefault();
appendNewBulletin();
});

Так должно сработать. А в appendNewBulletin() не забудьте обновить стиль:
document.getElementById(‘post1’).style.display = ‘block’;