Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   помогите с js (https://forum.antichat.xyz/showthread.php?t=56719)

Student :) 27.12.2007 16:28

помогите с js
 
Привет всем с НГ!
вопрос есть некая форма
там элемент input
вот
<input name='nomer' type="text" class="menur" id="txt1" onkeypress="showHint(this.value)" onkeyup="showHint(this.value)" onblur="showHint(this.value)" size="14" maxlength="13"><br>

и есть функция
function showHint(str) {
if(str.substr(8,1)!=''){

alert()
}
return false;

}


как мне зделать, так чтоб если человек ввёл или вставил в поле цифры, то функция отобразит только
первые 8 цифр и всё, у меня получаеться если больше 8 то всё равно выводиться alert :(

TweakeR 27.12.2007 17:14

Цитата:

Сообщение от Student :)
Привет всем с НГ!
вопрос есть некая форма
там элемент input
вот
<input name='nomer' type="text" class="menur" id="txt1" onkeypress="showHint(this.value)" onkeyup="showHint(this.value)" onblur="showHint(this.value)" size="14" maxlength="13"><br>

и есть функция
function showHint(str) {
if(str.substr(8,1)!=''){

alert()
}
return false;

}


как мне зделать, так чтоб если человек ввёл или вставил в поле цифры, то функция отобразит только
первые 8 цифр и всё, у меня получаеться если больше 8 то всё равно выводиться alert :(

str.substr(0,8) - даст первые восемь цифр из переменной str

str.length - даст количество символов из переменной str

Тоесть проверяешь с помощью str.length кол-во символов, потом по условию ставишь если равно восьми или больше (как тебе удобнее) значит выводишь при помощи str.substr(0,8).

Вроде то, если я тебя правильно понял, что те нужно! ;)

spider-intruder 27.12.2007 17:35

да у него не в этом проблема. Он юзает онкейдаун а если тип номер не вводит а копипастит оно не отрабатывает. Ему надо onChange вместо onKeyDown


<input name='nomer' type="text" class="menur" id="txt1" onChange="showHint(this.value)" size="14" maxlength="13"><br>

Вот так короче для корректной отработки копипаста

А по поводу "функция отобразит только......." я сам не въехал че надо..


Время: 18:40