Предотвратить загрузку страницы при отправке формы Jquery с помощью кнопки «Нет»

У меня есть своего рода чат-бот в стиле терминала MSDOS. Пользователь вводит свой ответ, а затем нажимает Enter. Я обнаружил, что, когда я помечаю кнопку "display: none;" это приводит к перезагрузке страницы в нескольких браузерах (мой браузер Windows Chrome не перезагружается. Не знаю, почему). Как можно скрыть кнопку при правильной работе формы и кода? Я бы предпочел не использовать "position: absolute;" отправить его за пределы экрана.

HTML:

<div id="bot"><form>
<input id="user-response" type="text" placeholder="" autocomplete="off" autofocus />
<button id="user-submit" type="submit">Send</button>
</form></div>

JAVASCRIPT:

$('#bot').on('click', '#user-submit', function(e) {
e.preventDefault();
message = $('#user-response').val();
message = message.toLowerCase();
sendUserResponse();
getBotResponse(message);
});

Я пробовал различные типы возврата: false ;, event.preventDefault (); и т. Д., Но все работает нормально, пока я не применяю display: none; укладка на кнопку. Я также изменил его на input и type = "button" / type = "submit", но снова отображаю: нет; вызывает перезагрузку страницы при нажатии «enter». Я прочитал около 20 различных вопросов о перезагрузке страницы, по запросу Ajax и т. Д. Ни один из них, похоже, не решает эту проблему.

РЕДАКТИРОВАТЬ:

Воспользовались двумя из приведенных ниже советов для проверки нажатия клавиши «Ввод» для отправки формы, но они продолжают ту же схему сбоя. Форма перезагружает страницу, если ваша кнопка отправки имеет стиль отображения: нет; Приведенные ниже методы работают, когда кнопка отображается визуально. Будет проверять код на наличие возвращаемых значений, которые могут быть причиной отправки и перезагрузки. На данный момент: Страница с кнопкой Visible - отлично работает любым методом. Страница с отображением: кнопка отсутствует - вызывает перезагрузку при всех указанных методах.

Также хотелось бы отметить, что перезагрузка страницы отсутствует в Chrome 49.0.2623.87 для Windows 7, но присутствует во всех браузерах OS X и некоторых браузерах Windows.

РЕДАКТИРОВАТЬ 2

Ошибка: дисплей: нет; кнопки вызывают перезагрузку страницы. Видимо в браузерах OS X и некоторых Windows. Решение: переключитесь на полный Ajax-неформ и должен решить любые проблемы. Разместит рабочее решение Ajax, когда соединено. Правильный ответ ниже для того, чтобы предложить Ajax. Ошибка передана в Chrome Dev и может быть позже добавлена ​​в другие браузеры.

Ответы на вопрос(2)

Ваш ответ на вопрос