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

<input type="text" id="wisselspelers" onkeypress="return (event.charCode > 64 && 
    event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)">

Допускаются только буквы. Любое число или другой ввод (например, <; <.> '"И т. Д.) Не допускается.

Что касается того, что пользователь может вводить только пробел, я создал этот JS-код, который заставляет пользователя, по крайней мере, вводить что-то:

 var input = document.getElementById("wisselspelers").value;
            if (input.trim().length == 0) {

                alert("Een naam is verplicht om op te kunnen slaan!");
                return;
            }
            if (input.trim().length == 1) {
                alert("Een naam kan niet maar 1 letter hebben, vul een naam in!");
                return;
            }
var input = document.getElementById("wisselspelers").value;
if (input.trim().length == 0) {

  alert("A name is required to save! (en naam is verplicht om op te kunnen slaan!)");

}
if (input.trim().length == 1) {
  alert("A name cannot have only 1 letter, enter a name! (Een naam kan niet maar 1 letter hebben, vul een naam in!)");

}
<input type="text" id="wisselspelers" onkeypress="return (event.charCode > 64 && 
    event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)">
0
Laurence Designs 2 Мар 2021 в 13:58

1 ответ

Лучший ответ

ASCII для пробела - 32 .

Таким образом, вы можете использовать

event.charCode == 32

За места, которые будут приняты.

Чтобы заставить пользователя хотя бы добавить более 1 символа, вы можете использовать событие focusout

document.getElementById("wisselspelers")
  .addEventListener("focusout", (event) => {
    var input = document.getElementById("wisselspelers").value;
    if (input.trim().length == 0) {
      alert("A name is required to save! (en naam is verplicht om op te kunnen slaan!)");
    }
    if (input.trim().length == 1) {
      alert("A name cannot have only 1 letter, enter a name! (Een naam kan niet maar 1 letter hebben, vul een naam in!)");
    }
  });
<input type="text" id="wisselspelers" onkeypress="return (event.charCode == 32|| event.charCode > 64 && 
        event.charCode < 91) || (event.charCode > 96 && event.charCode < 123)">
1
Not A Bot 2 Мар 2021 в 11:12