2016-12-06 1 views
0
$('.ui.form').form({ 
    fields: { 
     term: ['minLength[5]', 'empty'] 
    } 
}); 

$.fn.api.settings.api = { 
    'search': '_endpoint/check.php' 
}; 

$('#form').api({ 
    action: 'search', 
    method: 'POST', 
    serializeForm: true, 
    onComplete: function (response) { 
     if (response.success == true) { 
     } 
     else { 
     } 

    } 
}); 

Если я отправлю форму с нажатием кнопки «Отправить», проблем нет. Но если я отправлю форму с помощью клавиши ввода, проверки формы и запроса ajax, работающего вместе. Итак, отправьте подтверждение.Semantic UI Form Validator не блокирует запрос при отправке формы с помощью клавиши Enter

Что я могу сделать?

+0

Не понимаю, не подтверждается ли проверка, или это происходит, но форма отправляется в любом случае? Кроме того, можете ли вы разместить свой HTML-код? – fstanis

+0

Проверка выполняется, но не останавливает отправку. Таким образом выполняется также запрос ajax. Но обычно отправьте форму нажатием кнопки «Отправить», нет проблем. При отправке формы с ключом Enter возникает проблема. – zottirik

+0

Пожалуйста, создайте [JSFiddle] (https://jsfiddle.net/) с полным примером (также HTML), иначе сложно понять, что происходит. – fstanis

ответ

1

Семантический пользовательский интерфейс добавляет собственную комбинацию клавиш, которая отправляет форму, когда вы нажимаете клавишу ввода, но это представление, по некоторым причинам, обходит механизм проверки. На самом деле это может быть ошибка, так что я бы urge you to report it.

Тем не менее, вы можете отключить эти ярлыки с помощью keyboardShortcuts: false при инициализации формы:

$('.ui.form').form({ 
    keyboardShortcuts: false, 
    fields: { 
     term: ['minLength[5]', 'empty'] 
    } 
}); 

На большинстве браузеров, нажав ввести просто отправить форму, так что это дает тот же эффект, нажав отправить кнопка.

Смежные вопросы