force uppercase characters in textbox as user types

Posted on 2011-02-24
Last Modified: 2012-08-13
How do I convert text to uppercase as the user types?  I have tried a few things, nothing worked how I need it.  While the user types, it searches through a database that is all uppercase so doing this in the code behind and then sending it is not going to work.

Any Ideas?
Question by:gfedz
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Expert Comment

ID: 34971581
you can take the string you're searching with .tostring.toupper
LVL 17

Expert Comment

ID: 34971627
implement the toupper on the KeyUp event of the textbox

Author Comment

ID: 34971635
  <td colspan="2">
    <span style="font-weight:bold">Enter Last Name, First Name:</span>&nbsp;
    <asp:TextBox ID="txtFindName" runat="server" Width="250px" />&nbsp;
    <asp:AutoCompleteExtender ID="AutoCompleteExtender1" runat="server" 
	TargetControlID="txtFindName" ServiceMethod="FindNameSID" 
        MinimumPrefixLength="3" ServicePath="~/User/AutoComplete.asmx" />
    <asp:TextBoxWatermarkExtender ID="TextBoxWatermarkExtender1" 
	runat="server" TargetControlID="txtFindName" 
        WatermarkCssClass="WtrMrk" WatermarkText="SNUFFY JOE" />
    <asp:LinkButton ID="btnFindNameAdd" runat="server" Text="Add to Roster" ToolTip="Click to Add Member to Roster" />

Open in new window

<WebMethod()> _
    Public Function FindNameSID(ByVal prefixText As String, ByVal count As String) As String()
        Dim items As New List(Of String)

        sql = "SELECT name_ind FROM OPENQUERY(SIDPERS, 'Select name_ind from pers_person_tbl where name_ind like ''%" & prefixText & "%''')"

        myDataTable = New DataTable
        myDataTable = getData(sql)

        If myDataTable.Rows.Count > 0 Then
            For Each dRow As DataRow In myDataTable.Rows
        End If
        Return items.ToArray

    End Function

Open in new window

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 10

Accepted Solution

P1ST0LPETE earned 500 total points
ID: 34971705
No need to use VB code behind.  Just use javascript:
<html xmlns="">
<head runat="server">
    <script type="text/javascript">
        function UpperCase(textbox)
            var text = textbox.value;
            textbox.value = text.toUpperCase();
    <form id="form1" runat="server">
        <input type="text" id="textbox1" onkeyup="UpperCase(this)" />

Open in new window


Author Comment

ID: 34972371
That does work.  There is a longer delay then normal for the response from the database, which is expect.  Is there any other methods that would work?
LVL 10

Expert Comment

ID: 34972538
Um, I'm sure there are several various ways you could dream up to achieve this.  However, this is the fastest and most correct way to do it.  Using JavaScript, allows the code to execute right there on the clients machine.  If you do a postback, even if you don't go to the database, you sill have to take the time to do a postback which is un-needed and typically MUCH slower than JavaScript, especially once the website is live and not in your local test environment.

Author Comment

ID: 34972587
I do understand that.  Next question then, is there a quicker way of doing an autocomplete on a textbox then?  The ajax extender it self is already sluggish.

Author Closing Comment

ID: 34997836
Works great, was hoping for a different method but this will have to do.

Featured Post

SharePoint Admin?

Enable Your Employees To Focus On The Core With Intuitive Onscreen Guidance That is With You At The Moment of Need.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I recently went through the process of creating a Calendar Control of events with the basis of using a database to keep track of the dates that are selectable, one requirement was to have the selected date pop-up in a simple lightbox.  At first this…
Introduction This article shows how to use the open source plupload control to upload multiple images. The images are resized on the client side before uploading and the upload is done in chunks. Background I had to provide a way for user…
In an interesting question ( here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…
Exchange organizations may use the Journaling Agent of the Transport Service to archive messages going through Exchange. However, if the Transport Service is integrated with some email content management application (such as an antispam), the admini…

751 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question