【问题标题】:Issue with capitalize first letter of textbox文本框首字母大写的问题
【发布时间】:2013-01-30 16:57:41
【问题描述】:

我正在使用以下代码将输入到文本框中的第一个字母大写。问题是当您切换到另一个文本框,然后返回并输入一些内容时,它不会删除那里的内容.. 它会附加您输入的内容。

这可以解决吗?

$(function () {
    $('.userBox').on('DOMAttrModified textInput input keypress paste focus', 
      function (e) {
         $(this).val($(this).val().slice(0, 1).toUpperCase() + 
                $(this).val().slice(1));
      });
});

演示:http://jsfiddle.net/VBXbz/8/

【问题讨论】:

  • 它是否需要大写,或者只是像大写一样呈现?另外:不是“文本框”(没有这样的元素),它是 要么 文本输入(或 type=textinput),要么是 textarea。如果它是展示性的,总会有 CSS:textarea:first-letter { text-transform: uppercase; }
  • 我会使用 css 文本转换,但我需要将服务器端大写。
  • 然后在服务器端大写,或者在form的提交事件中;它更容易(并且在那一点上超越了用户操作)。

标签: jquery textbox capitalize


【解决方案1】:
<script type="text/javascript" language="javascript">
    function Capitalize(id) {
        var txt = document.getElementById(id);
        txt.value = txt.value.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); });
    }
</script>

萨拉特@f1

【讨论】:

    【解决方案2】:

    我只是将焦点绑定到另一个将清除输入字段内容的函数。像这样:

    $('.userBox').on('focus', function (e) {
        $(this).val("");
    }); 
    

    那么你基本上拥有http://jsfiddle.net/KWRef/

    除非我错过了你想提出的一些观点?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-29
      • 2023-03-18
      • 2017-02-11
      • 2019-07-29
      • 1970-01-01
      • 2021-07-29
      • 2011-05-14
      • 1970-01-01
      相关资源
      最近更新 更多