Отправить кнопку и подтвердить ввод? - PullRequest
0 голосов
/ 30 сентября 2018

Я хотел бы изменить этот код, чтобы он работал и при нажатии Enter, чтобы быть более понятным, я получил форму отправки и текстовое поле с кнопкой отправки, которую нужно нажать для отправки, но это не помогает мнетак как мне нужна форма, чтобы распознать, когда нажата клавиша ввода, что бы изменить, чтобы отсортировать ее?

submitButton.onclick = function() {
  index    = 0;
  results  = [];
  username = usernameInput.value;
  if ( username.length > 0 ) {
     window.location.href   = '//' + window.location.host + window.location.pathname + '#' + username;
     usernameInput.disabled = true;
     submitButton.disabled  = true;
     getExistence();
  }

Также у меня возникла проблема с проверкой ввода, какие изменения я должен был сделать, чтобы позволить форме распознаватьи принимать специальные символы?

 usernameInput.onchange = function() {
  this.value = this.value.replace(/[^a-z0-9]+/ig, '').slice(0, 40);


var urlUsername          = window.location.href.match(/\#([0-9a-z]{1,40})$/i)

Я бы попросил вас быть более конкретным, поскольку я новичок в кодировке javascript, и, насколько я знаю, этого недостаточно для простой сортировки.

1 Ответ

0 голосов
/ 01 октября 2018

Первое решение - прочитать это.https://www.tjvantoll.com/2013/01/01/enter-should-submit-forms-stop-messing-with-that/

Вы получаете информацию, почему "button type =" submit "является лучшим способом, чем добавление этого в JS. Я думаю, что решение вашей проблемы может быть примерно таким:

<form>
    <label for="age">Age:</label>
    <input type="number" min="0" max="120" name="age" id="age">
    <button id="child">Child</button>
    <button id="adult">Adult</button>
</form>
<script>
    (function() {
        var age = document.getElementById('age');
        age.addEventListener('keypress', function(event) {
            if (event.keyCode == 13) {
                event.preventDefault();
                if (age.value > 20) {
                    document.getElementById('adult').click();
                } else {
                    document.getElementById('child').click();
                }
            }
        });
    }());
</script>

Короче говоря, комментируя ваш код:

submitButton.onclick = function () {... ваш код

Эта работа, как вы описываете, onclick. Вы можете иметьпохожая функция с:

submitButton.onkeypress = function () {... тот же код с проверкой keyCode, как в примере выше

Проверка: самый простой способ создания любого регулярного выраженияэто какой-то реальный тест. Я лично предпочитаю этот сайт: https://regex101.com/

Какой символ " special " вы имеете в виду? Потому что никто не может помочь прямо сейчас. Подробнее об этомпример. Вам просто не нужен RegEx для JS. Примите любой символ и сделайте все на бэкенде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...