Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вызов функции JavaScript
 
 автор: -Deadly-   (02.03.2008 в 17:07)   письмо автору
 
 

Нужно сдлеать так, что бы когда в поле <input type="text"> менялось количество символов вызывалась функция. Как это сделать?
Спасибо.

   
 
 автор: вялый   (02.03.2008 в 17:23)   письмо автору
 
   для: -Deadly-   (02.03.2008 в 17:07)
 

Может onkeydown="f()"

   
 
 автор: 3ABAPKA   (02.03.2008 в 17:39)   письмо автору
 
   для: вялый   (02.03.2008 в 17:23)
 

onchange="fun()"

   
 
 автор: вялый   (02.03.2008 в 17:44)   письмо автору
 
   для: 3ABAPKA   (02.03.2008 в 17:39)
 

onchange это когда фокус уходит с элемента

   
 
 автор: mikha   (02.03.2008 в 18:40)   письмо автору
 
   для: -Deadly-   (02.03.2008 в 17:07)
 

var ns6=document.getElementById&&!document.all;
function restrictinput(maxlength,e,placeholder){
    if(window.event&&event.srcElement.value.length>=maxlength){
        return false;
    }else{
        if(e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
            var pressedkey=/[a-zA-Z0-9\.\,\/]/;
            if(pressedkey.test(String.fromCharCode(e.which))){
                e.stopPropagation();
            }
        }
    }
}
function countlimit(maxlength,e,placeholder){
    //document.getElementById('edit_o_sebe').style.display = 'block';
    var theform=eval(placeholder);
    var lengthleft=maxlength-theform.value.length;
    var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder);
    if(window.event||e.target&&e.target==eval(placeholder)){
        if(lengthleft<0){
            lengthleft = 0;
            theform.value=theform.value.substring(0,maxlength);
        }
        placeholderobj.innerHTML='Осталось <b>'+lengthleft+'</b>';
    }
}
function displaylimit(thename, theid, thelimit){
    //doBlock('edit_o_sebe');
    //document.getElementById('edit_o_sebe').style.display = 'block';
    //document.userinfo.edit_o_sebe.style.display = 'block';
    var theform=theid!=""? document.getElementById(theid) : thename;
    var limit_text='<span id="'+theform.toString()+'">Не больше <b>'+thelimit+'</b> символов</span>';
    if(document.all||ns6)
        document.write(limit_text);
    if(document.all){
        eval(theform).onkeypress=function(){
            return restrictinput(thelimit,event,theform);
        }
        eval(theform).onkeyup=function(){
            countlimit(thelimit,event,theform);
        }
    }
    else if(ns6){
        document.body.addEventListener('keypress', function(event){ restrictinput(thelimit,event,theform) }, true); 
        document.body.addEventListener('keyup', function(event){ countlimit(thelimit,event,theform) }, true); 
    }
}

ниже необходимого поля прописываешь
<script type="text/javascript">displaylimit("document.имя_формы.имя_поля","", "сколько_символов_максимум_одной_цыфрай")</script>

Там где пустые ковычки, по идее можно прописывать id, как альтернативный выриант, но мне не понравилось.

   
 
 автор: mikha   (02.03.2008 в 18:49)   письмо автору
 
   для: mikha   (02.03.2008 в 18:40)
 

упс.. прошу прощения, возможно вам не это надо..
onkeypress лыба)))
упс.. забыл совсем, функции не мои, чьи не помню. прошу прощения перед афтором..
их необходимо бы дополнить, если не забуду, вернусь к этой теме.
Есть некоторые недостатки, если поле полностью заполненно и текст выделен, то печатаешь символ, текст не пропадает пока не удалишь всё. В принципе не очень неудобный недостаток. на днях устраню, если не забуду, обновлю.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования