Как предотвратить перезагрузку веб-сайта Dojo с помощью Enter
У меня есть диалоговое окно Dojo, в котором есть форма, текстовое поле и кнопка.
Когда форма открыта, я печатаю что-то в текстовом поле и нажимаю Enter, весь веб-сайт перезагружается.
Как я могу предотвратить это? Нажатие кнопки OK работает, как и ожидалось. Есть ли способ отключить поведение Enter?
var form = new Form();
new TextBox({
placeHolder: "enter value:"
}).placeAt(form.containerNode);
new Button({
label: "OK",
'onClick': function () {
console.log(`form value is: ${form._descendants[0].value}`)
dia.hide();
},
}).placeAt(form.containerNode);
var dia = new Dialog({
content: form,
title: "Save",
style: "width: 300px",
});
form.startup();
dia.show();
1 ответ
По умолчанию форма отправляется, когда мы нажимаем ввод, чтобы предотвратить это, вы должны прослушать событие отправки и предотвратить действие браузера по умолчанию с помощью event.preventDefault()
добавление приведенного выше кода решит вашу проблему:
form.on("submit", function(e){
e.preventDefault();
})
См. рабочий фрагмент belwo: