Я создаю реакт компонент, содержащий в себе элементы, одним из которых является форма содержащая кнопки. Так как кнопки внутри формы, по-умолчанию, они пытаются отправить post-запрос. Мне нужно остановить процесс отправки по нажатию на кнопку. Так же по нажатию на кнопку должна вызываться моя функция.
Не знаю как одновременно по нажатию вызвать нужную мне функцию и отменить отправку.
Код создания кнопки:
React.createElement(
"button",
{className:"btn",onClick:this.signUpState},
'Sign In'
),
Вот код функции, вызываемой по нажатию на кнопку:
this.signUpState=()=>{
console.log("Hello!");
};
Остановить отправку можно с помощью метода :
e.preventDefault();
Как это записать в код?
Были попытки написать так:https://jsfiddle.net/n5u2wwjg/156435/
Основная причина такого поведения - если у вашей кнопки не стоит type="button"
то по умолчанию считается type="submit"
. Отсюда и автоматическая отправка формы по нажатию.
Поскольку в реакте вы работаете с компонентами и их состоянием, то лучше вообще избавиться от <form>
, чтобы избежать нестандартного поведения. Поскольку из-за стандартного поведения форм, будет Submit
не только на кнопке, но и на Enter
в любом из input
Если же форма нужна, то событие надо ловить не на кнопке, а на форме.
<form onSubmit={this.onSubmit}
...
</form>
onSubmit = (e) => {
e.preventDefault();
}
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Нашел в сети готовый код на JS расчета предполагаемой даты родовС кодом все ОК, он прост и понятен
Я новичок в PHP и JSХотел выполнить тривиальную задачу, скачать себе на ПК анимированные стикеры из ВК, думаю, CTRL+SHIFT+U+найти путь до нужной gif и дело...