Как я могу вызвать вход к верхнему регистру в текстовом поле ASP.NET?

32
задан Peter Mortensen 11 July 2011 в 22:14
поделиться

13 ответов

Почему бы не использовать комбинацию CSS и бэкенда? Используйте:

style='text-transform:uppercase' 

на TextBox, и в Вашем использовании codebehind:

Textbox.Value.ToUpper();

можно также легко изменить regex на блоке проверки допустимости для использования строчных и прописных букв. Это - вероятно, более легкое решение, чем принуждение верхнего регистра на них.

52
ответ дан 27 November 2019 в 19:47
поделиться

JavaScript имеет "toUpperCase ()" функция строки.

Так, что-то вдоль этих строк:

function makeUpperCase(this)
{
    this.value = this.value.toUpperCase();
}
0
ответ дан 27 November 2019 в 19:47
поделиться

CSS мог помочь здесь.

style="text-transform: uppercase";"

это помогает?

1
ответ дан 27 November 2019 в 19:47
поделиться

Используйте преобразование текст CSS для фронтенда и затем используйте toUpper метод на Вашей строковой серверной стороне перед проверкой.

1
ответ дан 27 November 2019 в 19:47
поделиться

Установите стиль на текстовом поле, поскольку преобразуйте текст: верхний регистр ?

1
ответ дан 27 November 2019 в 19:47
поделиться

Сегодня я просто сделал что-то подобное. Вот измененная версия:

<asp:TextBox ID="txtInput" runat="server"></asp:TextBox>
<script type="text/javascript">
    function setFormat() {
        var inp = document.getElementById('ctl00_MainContent_txtInput');
        var x = inp.value;
        inp.value = x.toUpperCase();
    }

    var inp = document.getElementById('ctl00_MainContent_txtInput');
    inp.onblur = function(evt) {
        setFormat();
    };
</script>

В основном, сценарий присоединяет событие, которое стреляет, когда текстовое поле теряет фокус.

2
ответ дан 27 November 2019 в 19:47
поделиться
 style='text-transform:uppercase'
2
ответ дан 27 November 2019 в 19:47
поделиться

Используйте стиль CSS на текстовом поле. Ваш CSS должен быть чем-то вроде этого:

.uppercase
{
    text-transform: uppercase;
}

<asp:TextBox ID="TextBox1" runat="server" Text="" CssClass="uppercase"></asp:TextBox>;
22
ответ дан 27 November 2019 в 19:47
поделиться

Можно прервать события нажатия клавиши, отменить строчные и добавить их прописные версии к входу:

window.onload = function () {
    var input = document.getElementById("test");

    input.onkeypress = function () {
        // So that things work both on Firefox and Internet Explorer.
        var evt = arguments[0] || event;
        var char = String.fromCharCode(evt.which || evt.keyCode);

        // Is it a lowercase character?
        if (/[a-z]/.test(char)) {
            // Append its uppercase version
            input.value += char.toUpperCase();

            // Cancel the original event
            evt.cancelBubble = true;
            return false;
        }
    }
};

Это работает и в Firefox и в Internet Explorer. Вы видите его в действии здесь .

6
ответ дан 27 November 2019 в 19:47
поделиться

Я бы сделал это с помощью jQuery.

<script src="Scripts/jquery-1.3.2.js" type="text/javascript"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $("#txt").keydown(function(e) {
            if (e.keyCode >= 65 & e.keyCode <= 90) {
                val1 = $("#txt").val();
                $("#txt").val(val1 + String.fromCharCode(e.keyCode));
                return false;
            }
        });
    });
</script>

У вас должна быть библиотека jQuery в папке / script .

2
ответ дан 27 November 2019 в 19:47
поделиться
<!-- Script by hscripts.com -->
<script language=javascript>
    function upper(ustr)
    {
        var str=ustr.value;
        ustr.value=str.toUpperCase();
    }

    function lower(ustr)
    {
        var str=ustr.value;
        ustr.value=str.toLowerCase();
    }
</script>

<form>
    Type Lower-case Letters<textarea name="address" onkeyup="upper(this)"></textarea>
</form>

<form>
    Type Upper-case Letters<textarea name="address" onkeyup="lower(this)"></textarea>
</form>
3
ответ дан 27 November 2019 в 19:47
поделиться
**I would do like:
<asp:TextBox ID="txtName" onkeyup="this.value=this.value.toUpperCase()" runat="server"></asp:TextBox>**
8
ответ дан 27 November 2019 в 19:47
поделиться

Я понимаю, что это немного поздно, но я не смог найти хороший ответ, который работал бы с ASP.NET AJAX, поэтому я исправил код выше:

function ToUpper() {
        // So that things work both on FF and IE
        var evt = arguments[0] || event;
        var char = String.fromCharCode(evt.which || evt.keyCode);

        // Is it a lowercase character?
        if (/[a-z]/.test(char)) {
            // convert to uppercase version
            if (evt.which) {
                evt.which = char.toUpperCase().charCodeAt(0);
            }
            else {
                evt.keyCode = char.toUpperCase().charCodeAt(0);
            }
        }

        return true;
    }

Используется так:

       <asp:TextBox ID="txtAddManager" onKeyPress="ToUpper()" runat="server" 
             Width="84px" Font-Names="Courier New"></asp:TextBox>
0
ответ дан 27 November 2019 в 19:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: