Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Запрет ввода пробела (https://javascript.ru/forum/misc/46831-zapret-vvoda-probela.html)

outZoNe 25.04.2014 18:49

Запрет ввода пробела
 
Народ я новичок в js но мне надо сделать так что бы для поля
<input type="search">
нельзя было начинать ввод текста с пробела то есть первый символ может быть что угодно только не пробел но потом его можно было вводить между словами.Помогите плиз.

Web_genius 25.04.2014 21:33

Вот, но можно сделать получше.
<form name="La">
            <input name="Li" type="search" onKeyPress="func()">
        </form>       

        <script>
            var myInput   = document.forms.La.elements.Li;
            
            function func() {
                if (myInput.value.charAt(0) === " ") {
                    myInput.value = "";
                }
            }
        </script>

Nexus 26.04.2014 23:53

<input name="Li" type="search" onkeyup="this.value=this.value.replace(/\s+/gi,'')">

Sweet 27.04.2014 00:09

Web_genius, если в скрипте получаешь input, зачем вешаешь обработчик в версте? Или ты может Web_bydlo?:) Ну, и судя по document.forms ты был заморожен лет десять назад, но внезапно оттаял, а руки-то всё ещё помнят:lol:
Nexus, тему не читай - говнорешение пиши?:)

Vlasenko Fedor 27.04.2014 00:16

outZoNe,
<input name="Li" type="search" onkeyup="this.value=this.value.replace(/^\s/,'')">

jsnb 27.04.2014 07:01

Цитата:

Сообщение от Sweet (Сообщение 309435)
Ну, и судя по document.forms ты был заморожен лет десять назад, но внезапно оттаял, а руки-то всё ещё помнят:lol:

А что не так с document.forms?

Aetae 27.04.2014 07:51

<input onkeydown="return keyDown.call(this,event)" onchange="value = value.replace(/^\s+/,'')">
<script>
function keyDown(e){
  var position = 'selectionStart' in this ? 
    this.selectionStart :
    Math.abs(document.selection.createRange().moveStart('character', -input.value.length)); //ie<9 
  if(e.keyCode === 32 && position === 0) return false
}
</script>

Nexus 27.04.2014 10:36

Цитата:

Сообщение от Sweet (Сообщение 309435)
Nexus, тему не читай - говнорешение пиши?:)

Невнимательно прочел, так оно и получилось :)


Часовой пояс GMT +3, время: 01:09.