2013-03-04 43 views
0

我需要將.ToLower()用戶在輸入時在文本框中鍵入的內容轉換爲...我發現了一些例外,但是這些都與事件KeyPressasp.net有關只是事件TextChange,另外,我找到Hegex的東西,但有人曾告訴我,與hegex工作是不是一個好習慣......我是一個begginer所以,我更喜歡問你們,有什麼更好的方法來做到這一點?在輸入時轉換爲降低文本框的內容

+0

重複http://stackoverflow.com/questions/6999649/how-to-make-everything-lowercase-automatically-in-javascript-as-他們鍵入 – Ceres 2013-03-04 15:12:47

回答

2

您在混淆服務器和客戶端事件。請注意,在.aspx中聲明的TextBox默認情況下會呈現爲input[type=text],因此您可以處理所有客戶端事件(onkeypress,onkeyup,onkeydown等)。但是,你想要完成的只能使用CSS來完成。把下面的屬性在你的文本框:

<asp:TextBox ID="txtTest" runat="server" Style="text-transform: lowercase;"></asp:TextBox> 

這樣,你輸入的文字會顯示爲小寫,但如果希望文本真的轉化爲小寫,您必須使用JavaScript:

<asp:TextBox ID="txtTest" runat="server" onkeyup="this.value = this.value.toLowerCase();" 
    Style="text-transform: lowercase;"></asp:TextBox> 

順便說一句,使用正則表達式不是一個壞習慣,在這種情況下它不是必需的。正則表達式對文本搜索,驗證和解析非常有用,使事情變得更容易。唯一的權衡是一些正則表達式模式可能很不清楚,難以理解。

+0

謝謝你,但是當我將這個值保存在我的數據庫中時,會保存爲小寫嗎?或者它只是顯示爲小寫? – Ghaleon 2013-03-04 17:04:38

+0

如果您使用Javascript函數'onkeyup =「this.value = this.value.toLowerCase();」',它將被保存爲小寫。 – MarcusVinicius 2013-03-04 17:13:45

1

我假設您希望在用戶輸入文本時儘快降低客戶端的文本。您可以處理onkeypress Event:上服務器端

<asp:TextBox Id="TextBox1" onkeypress="this.value = this.value.toLowerCase();" runat="server" /> 

未觸發每個按鍵,但是當你提交的頁面,你可以使用String.ToLower。例如,如果你處理TextBoxTextChanged event

protected void TextBox1_TextChanged(object sender, EventArgs e) 
{ 
    TextBox1.Text = TextBox1.Text.ToLower(); 
} 

您必須添加的ASPX標記事件處理程序:

<asp:TextBox OnTextChanged="TextBox1_TextChanged" AutoPostBack="true" runat="server" Id="TextBox1" /> 
+0

我這樣做:''但仍然相同...; \ – Ghaleon 2013-03-04 17:10:49

+0

@Ghaleon:抱歉,我的'onkeypress'處理程序不正確,請相應地編輯我的答案。 'onkeypress =「this.value = this.value.toLowerCase();」' – 2013-03-04 17:13:38

+0

使用'onkeypress'事件會導致最後一個字母保持大寫,如果它是一個大寫字母。 HTTP://的jsfiddle。net/qGhg4/ – MarcusVinicius 2013-03-04 17:19:55

0

你可以把CSS的好處由@MarcusVinicius
的建議假設你有這樣的文本框

<asp:TextBox id="text1" runat="server"/> 

你可以把cssClass放在上面,如下

<asp:TextBox id="text1" CssClass='text' runat="server"/> 

,然後創建一個CSS類

.text 
{ 
    text-transform: lowercase; 
} 
+0

謝謝你,但是,當我在DataBase上保存該值時,會保存爲小寫?或者它只是顯示爲小寫? – Ghaleon 2013-03-04 17:05:06

+0

@Ghaleon它將以小寫保存。 – 2013-03-05 04:35:41

相關問題