Как предотвратить перезагрузку веб-сайта 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:

Другие вопросы по тегам