Разбираемся в CSS
Anonymous
Страница перезагружается при нажатии кнопки, пока используется event.preventDefault()
Сообщение
Anonymous » 31 мар 2024, 11:17
Я попробовал создать класс для создания некоторых транзакций. Я хотел заполнить значения. всякий раз, когда кнопка была нажата, она вызывала функцию this.handleClick для создания новой транзакции и регистрации ее на консоли. однако страница автоматически перезагружается всякий раз, когда я отправляю значения. Что я делаю не так? вот использованный код.
Код: Выделить всё
class Transaction {
constructor(getal, afzender, ontvanger) {
this.getal = getal;
this.afzender = afzender;
this.ontvanger = ontvanger;
// Set the clicker
this.button = document.getElementById('clicker');
this.button.addEventListener('click', this.handleClick.bind(this));
}
print() {
console.log(`${this.afzender} sent ${this.getal} bits to ${this.ontvanger}`);
}
emptyInputs() {
document.querySelector('#bedrag').value = '';
document.querySelector('#verzender').value = '';
document.querySelector('#ontvanger').value = '';
}
handleClick(event) {
event.preventDefault();
const p = document.querySelector('.confirmation');
p.style.color = 'green';
const bedrag = document.querySelector('#bedrag').value;
const verzender = document.querySelector('#verzender').value;
const ontvanger = document.querySelector('#ontvanger').value;
const transaction = new Transaction(bedrag, verzender, ontvanger);
transaction.print(); // Optionally, print the transaction details
transaction.emptyInputs(); // Clear the input fields
p.innerText = "Transaction made!";
}
}
Код: Выделить всё
Document
Maak een transactie
Bedrag:
Verzender:
Ontvanger:
Submit
Подробнее здесь:
https://stackoverflow.com/questions/782 ... lt-is-used
1711873063
Anonymous
Я попробовал создать класс для создания некоторых транзакций. Я хотел заполнить значения. всякий раз, когда кнопка была нажата, она вызывала функцию this.handleClick для создания новой транзакции и регистрации ее на консоли. однако страница автоматически перезагружается всякий раз, когда я отправляю значения. Что я делаю не так? вот использованный код. [code]class Transaction { constructor(getal, afzender, ontvanger) { this.getal = getal; this.afzender = afzender; this.ontvanger = ontvanger; // Set the clicker this.button = document.getElementById('clicker'); this.button.addEventListener('click', this.handleClick.bind(this)); } print() { console.log(`${this.afzender} sent ${this.getal} bits to ${this.ontvanger}`); } emptyInputs() { document.querySelector('#bedrag').value = ''; document.querySelector('#verzender').value = ''; document.querySelector('#ontvanger').value = ''; } handleClick(event) { event.preventDefault(); const p = document.querySelector('.confirmation'); p.style.color = 'green'; const bedrag = document.querySelector('#bedrag').value; const verzender = document.querySelector('#verzender').value; const ontvanger = document.querySelector('#ontvanger').value; const transaction = new Transaction(bedrag, verzender, ontvanger); transaction.print(); // Optionally, print the transaction details transaction.emptyInputs(); // Clear the input fields p.innerText = "Transaction made!"; } }[/code] [code] Document Maak een transactie Bedrag: Verzender: Ontvanger: Submit [/code] Подробнее здесь: [url]https://stackoverflow.com/questions/78245454/page-reloads-on-button-click-while-event-preventdefault-is-used[/url]