Skip to content Skip to sidebar Skip to footer

Javascript Textbox Call Event When Value Changes

I have a textbox, and whenever the value of the box changes, I want to check and see if 20 digits have been entered. I thought that I would use the onChange event, but this seems t

Solution 1:

An effective way is to use a combination of onkeydown and onpaste, which will work in IE, Firefox, Chrome and Safari. Opera is the odd one out here because it doesn't support onpaste so you may have to fall back to onchange for Opera or use the DOMAttrModified mutation event, see example below.

Internet Explorer also supports onpropertychange, which will fire every time a property changes on an element -- including value. I have read that DOMAttrModified is supported by Opera and Safari (not sure about Firefox), so you could use that in combination with IE's onpropertychange (untested):

if ("implementation"indocument &&
                   document.implementation.hasFeature('MutationEvents','2.0'))
    myInput.addEventListener("DOMAttrModified", valueChanged, false);    
elseif ("onpropertychange"in myInput)
    myInput.onpropertychange = valueChanged;

functionvalueChanged (evt)
{
    var attr;
    evt = evt || window.event;
    attr = evt.attrName || evt.propertyName;

    if (attr == "value")
        validate();
}

Solution 2:

use onKeryPress event

 <inputtype="text" onKeyDown="CountText(this,200)" onpaste="return false;"> 

    functionCountText(field, maxlimit) 
    {
       if (field.value.length < maxlimit) // if too long...trim it!
        {
            returntrue;
        }
        elsereturnfalse;
    }

check my full article on : http://www.codeproject.com/KB/validation/MyTextBox.aspx

Solution 3:

<script>functionmulty(val)
{
alert(val.value+"--"+val.id);
}

</script></head><body><inputid="txtdemo"type="text"onchange="multy(this);"></br><inputid="txtdemo"type="text"onchange="multy(this);"></input></body>

Click to see out put screen.

Thanks... :)

Post a Comment for "Javascript Textbox Call Event When Value Changes"