Показать сообщение отдельно
  #7 (permalink)  
Старый 03.10.2010, 21:03
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

1.Use FireBug(Скобочку забыли).
<script>
var c=3;
maxLen = 10;
function checkMaxInput(form) {
form.s.value = form.s.value.replace(/,/g,function(){return c-->0?',':''})
if (form.s.value.length > maxLen) form.s.value = form.s.value.substring(0, maxLen);
else document.getElementById('remLen').innerHTML =  maxLen - form.s.value.length;
}
</script>

<form>
<input id='s' type=text onkeydown='checkMaxInput(this.form);' onkeyup='checkMaxInput(this.form);'>, осталось <span id='remLen'>10</span> запятых.

2. Счётчик не там.
<script>
maxLen = 10;
function checkMaxInput(form) {
var c=3;
form.s.value = form.s.value.replace(/,/g,function(){return c-->0?',':''})
if (form.s.value.length > maxLen) form.s.value = form.s.value.substring(0, maxLen);
else document.getElementById('remLen').innerHTML =  maxLen - form.s.value.length;
}
</script>

<form>
<input id='s' type=text onkeydown='checkMaxInput(this.form);' onkeyup='checkMaxInput(this.form);'>, осталось <span id='remLen'>10</span> запятых.

3. Ваш код в принцпе и не нужен).
<script>
function checkMaxInput(form) {
var c=3;
form.s.value = form.s.value.replace(/,/g,function(){return c-->0?',':''})
document.getElementById('remLen').innerHTML =  c;
}
</script>

<form>
<input id='s' type=text onkeydown='checkMaxInput(this.form);' onkeyup='checkMaxInput(this.form);'>, осталось <span id='remLen'>3</span> 

запятых.
</form>


А чтобы понять почему решение плохое - попробуйте поставить запятые не в конце печатаемого текста, а в середине иль начале.)
Ответить с цитированием