Solved

force uppercase characters in textbox as user types

Posted on 2011-02-24
8
837 Views
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?
0
Comment
Question by:gfedz
8 Comments
 
LVL 3

Expert Comment

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

Expert Comment

by:nepaluz
ID: 34971627
implement the toupper on the KeyUp event of the textbox
0
 
LVL 1

Author Comment

by:gfedz
ID: 34971635
<tr>
  <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" />
  </td>
</tr>

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
                items.Add(dRow(0).ToString)
            Next
        End If
        Return items.ToArray

    End Function

Open in new window

0
 
LVL 10

Accepted Solution

by:
P1ST0LPETE earned 500 total points
ID: 34971705
No need to use VB code behind.  Just use javascript:
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript">
        function UpperCase(textbox)
        {
            var text = textbox.value;
            textbox.value = text.toUpperCase();
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input type="text" id="textbox1" onkeyup="UpperCase(this)" />
    </div>
    </form>
</body>
</html>

Open in new window

0
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 1

Author Comment

by:gfedz
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?
0
 
LVL 10

Expert Comment

by:P1ST0LPETE
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.
0
 
LVL 1

Author Comment

by:gfedz
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.
0
 
LVL 1

Author Closing Comment

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

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
Problem Hi all,    While many today have fast Internet connection, there are many still who do not, or are connecting through devices with a slower connect, so light web pages and fast load times are still popular.    If your ASP.NET page …
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

759 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

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now