Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / Forth.NET

TextBox Only Write String Character

2.53/5 (7 votes)
4 Aug 2007CPOL1 min read 1   320  
If user tries to write non string character in TextBox, that character won't be written.

Introduction

In this article, I will show how to make the script control TextBox have the following value: "Enter String Only". When the user clicks on the TextBox, it becomes blank, and when the user deletes the written value from "Enter String Only", it re-requests an entry, and if the user tries to write a non-string character in the TextBox, that character will not be written.

Using the Code

inputtext_onclick()

When the user deletes words from the entry "Enter String Only" fulltext_befor_new_char is set to "" or to the TextBox value, that function fires when the user clicks on the TextBox.

JavaScript
function inputtext_onclick() 
{ 
// if the TextBox value = "Enter String Only", that means
// the user has not written any words yet, so set the textbox
// value to "" and fulltext_befor_new_char Variable to "" 
if ((TextBox_Element.value == "Enter String Only")) 
{ 
TextBox_Element.value=""; 
fulltext_befor_new_char = ""; 
} 
Else 
// else means the user has written words before as save it in
// fulltext_befor_new_char Variable 
fulltext_befor_new_char = TextBox_Element.value; 
}

inputtext_onblur()

This function is responsible for rewriting "Enter String Only" words if the user doesn't write any words that the function fires when the TextBox loses focus.

JavaScript
function inputtext_onblur() 
{ 
// if the textbox value = "" then the use left the text box empty so
// set textbox value to "Enter String Only" again 
if ((TextBox_Element.value == "")) 
TextBox_Element.value="Enter String Only"; 
}

inputtex_onkeydown(e)

JavaScript
function inputtex_onkeydown(e)
{ 
// check if the user uses Firefox
if (IsFireFox())
{
    // if Firefox uses e.which
    var key_code = e.which ;
}
else 
{
    // if not Firefox, use event.keyCode
    var key_code = event.keyCode ;
}
// check if the user presses backspace key to delete written character
// if not backspace, then check 
if (key_code != 8)
{
    var ch = String.fromCharCode(key_code);
    var filter = /[a-zA-Z]/ ;
    if(!filter.test(ch))
    {
        //Cancel the Input
        if (IsFireFox())
        e.preventDefault(); 
        else
        event.returnValue = false ;
    }
}
} 
function inputtext_onkeypress() 
{ 
var fulltext = TextBox_Element.value; 
// if character legal, then save textbox value in
// fulltext_befor_new_char Variable texbox value to 
if (Filter(fulltext)) 
{ 
fulltext_befor_new_char = TextBox_Element.value; 
} 
Else 
// if character illegal, then set the texbox value to
// fulltext_befor_new_char (old textbox value) 
{ 
TextBox_Element.value = fulltext_befor_new_char; 
} 
}

function inputtex_onchange()

The function responsible for checking if the value is legal or illegal if the user pastes or drops the value:

JavaScript
function inputtex_onchange()
{
var inputtex_vlaue = TextBox_Element.value;
var filter = /^[a-zA-Z]+$/ ;
if(!filter.test(inputtex_vlaue))
    {
        TextBox_Element.value = "Enter String Only";
    }
}
function
add_Events_To_TextBox(TextBox_Name_Client)

The function responsible on adding (onkeydownonclickonbluronchange) events to the textbox in RunTime that the function fires after the document on page Load.

JavaScript
function add_Events_To_TextBox(TextBox_Name_Client) 
{ 
TextBox_Element = document.getElementById(TextBox_Name_Client);
TextBox_Element.onkeydown=function(event)
                    {
                        inputtex_onkeydown(event);
                    };
TextBox_Element.onclick=inputtext_onclick ;
TextBox_Element.onblur=inputtext_onblur;
TextBox_Element.onchange = inputtex_onchange;
}

In the ASPX file, write at the end of <form></form> element:

HTML
<script language="javascript" type="text/javascript" src="Unwrite_aspx.js" > 
</script> 
<script language="javascript" type="text/javascript" > 
add_Events_To_TextBox("<%=Unwrite_TestBox.ClientID%>"); 
</script>

Happy coding …

History

  • 4th August, 2007: Initial version

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)