Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当用户在不使用css文本转换的情况下键入文本时,是否将文本字段中的文本大写?_Javascript_Jquery - Fatal编程技术网

Javascript 当用户在不使用css文本转换的情况下键入文本时,是否将文本字段中的文本大写?

Javascript 当用户在不使用css文本转换的情况下键入文本时,是否将文本字段中的文本大写?,javascript,jquery,Javascript,Jquery,我已经使用css解决了这个问题,但我不允许使用css将文本大写为用户类型,然后在提交之前将提交的数据更改为大写?有人可以使用jquery/JS帮助我解决这个问题。关于keyup事件。只需应用该方法将其转换为大写 this.value.toUpperCase(); 但是,如果您希望在提交数据之前文本为大写。然后最好将其转换为大写一次,而不是在keyup事件中绑定 您可以使用键代码并检查是否按下了退格键或箭头键。否则将其大写或返回。在键控事件上。只需应用该方法将其转换为大写 this.value.

我已经使用css解决了这个问题,但我不允许使用css将文本大写为用户类型,然后在提交之前将提交的数据更改为大写?有人可以使用jquery/JS帮助我解决这个问题。

关于keyup事件。只需应用该方法将其转换为大写

this.value.toUpperCase();
但是,如果您希望在提交数据之前文本为大写。然后最好将其转换为大写一次,而不是在keyup事件中绑定

您可以使用键代码并检查是否按下了退格键或箭头键。否则将其大写或返回。

在键控事件上。只需应用该方法将其转换为大写

this.value.toUpperCase();
但是,如果您希望在提交数据之前文本为大写。然后最好将其转换为大写一次,而不是在keyup事件中绑定

您可以使用键代码并检查是否按下了退格键或箭头键。否则将其大写或返回。

您可以使用keyup事件:

演示:

您可以使用keyup事件:


演示:

您可以在按下键事件中捕获a到z,并用a-z替换所选文本:

    function ucase(event, source) {
        var evt = event ? event : window.event;
        if (evt.keyCode >= 65 && evt.keyCode <= 90) {
            textboxReplaceSelect(source, String.fromCharCode(evt.keyCode).toUpperCase());
            return false;
        }
        return true;
    }

    function textboxReplaceSelect(oTextbox, sText) {
        var isOpera = navigator.userAgent.indexOf("Opera") > -1;
        var isIE = navigator.userAgent.indexOf("MSIE") > 1 && !isOpera;
        var isMoz = navigator.userAgent.indexOf("Mozilla/5.") == 0 && !isOpera;
        if (isIE) {
            var oRange = document.selection.createRange();
            oRange.text = sText;
            oRange.collapse(true);
            oRange.select();
        } else if (isMoz) {
            var iStart = oTextbox.selectionStart;
            oTextbox.value = oTextbox.value.substring(0, iStart) + sText + oTextbox.value.substring(oTextbox.selectionEnd, oTextbox.value.length);
            oTextbox.setSelectionRange(iStart + sText.length, iStart + sText.length);
        }

        oTextbox.focus();
    }
如何调用它的示例:

    <input type="text" onkeydown="return ucase(event,this);" />

您可以在按下键事件中将a捕捉到z,并用a-z替换所选文本:

    function ucase(event, source) {
        var evt = event ? event : window.event;
        if (evt.keyCode >= 65 && evt.keyCode <= 90) {
            textboxReplaceSelect(source, String.fromCharCode(evt.keyCode).toUpperCase());
            return false;
        }
        return true;
    }

    function textboxReplaceSelect(oTextbox, sText) {
        var isOpera = navigator.userAgent.indexOf("Opera") > -1;
        var isIE = navigator.userAgent.indexOf("MSIE") > 1 && !isOpera;
        var isMoz = navigator.userAgent.indexOf("Mozilla/5.") == 0 && !isOpera;
        if (isIE) {
            var oRange = document.selection.createRange();
            oRange.text = sText;
            oRange.collapse(true);
            oRange.select();
        } else if (isMoz) {
            var iStart = oTextbox.selectionStart;
            oTextbox.value = oTextbox.value.substring(0, iStart) + sText + oTextbox.value.substring(oTextbox.selectionEnd, oTextbox.value.length);
            oTextbox.setSelectionRange(iStart + sText.length, iStart + sText.length);
        }

        oTextbox.focus();
    }
如何调用它的示例:

    <input type="text" onkeydown="return ucase(event,this);" />

在使用键控功能时,文本框大写,但在大多数浏览器中,编辑光标位置时始终强制结束。它很有魅力

$(selector).on('keyup',function(){
   var start = this.selectionStart,
       end = this.selectionEnd;     
       this.value = this.value.toUpperCase();
       this.setSelectionRange(start, end);
});

在使用键控功能时,文本框大写,但在大多数浏览器中,编辑光标位置时始终强制结束。它很有魅力

$(selector).on('keyup',function(){
   var start = this.selectionStart,
       end = this.selectionEnd;     
       this.value = this.value.toUpperCase();
       this.setSelectionRange(start, end);
});


这个解决方案不让我去改变文本,因为它把我带回到文本框中的最后一个字母,然后把它应用到更改事件上,而不是KEXUPIT一旦ToBox失去焦点就大写,但是我所寻找的是将它改为大写,因为用户类型Itf用户尝试在文本中间键入,第一个键会在中间加上一个字符,其余的将在end@Sushanth-我刚刚也触发了这个问题。在文本之间编辑文本时,它会将光标强制移到文本框的末尾。该解决方案不会让我去更改文本,因为它会将我带回到文本框中的最后一个字母,然后将其应用于更改事件,TekBox失去焦点,而不是KEYUPIT大写,但是我正在寻找的是将它改为大写,作为用户类型,ITIF用户尝试在文本中间键入,第一个键会在中间加上一个字符,其余的将在end@Sushanth-我也触发了这个问题,当在文本之间编辑时,它会将光标强制移到文本框的末尾。如果输入大写很重要的话,我也会确保在服务器端将其大写。记住,Javascript总是可以被禁用的。如果大写输入很重要,我也会确保在服务器端使用它。记住,Javascript总是可以被禁用的。我意识到它是IE特有的,我这样做是为了它能在其他浏览器中工作,但是我不能测试,因为我的计算机上没有安装任何其他的浏览器,只有IE?那是新的。如果你害怕安装真正的浏览器,你可以使用pocket opera,但老兄,帮你自己和我们一个忙……公司心态,我通过了测试,我在IE、Firefox和ChromeI中测试并使其工作。我意识到它是针对IE的,我这样做是为了让它在其他浏览器中工作,然而,我不能测试,因为我没有任何其他安装在我的电脑上只有IE?那是新的。如果你害怕安装真正的浏览器,你可以使用pocket opera,但是伙计,帮你自己和我们一个忙……公司的心态,我通过了它,我在IE、Firefox和Chrome中测试并使它工作