Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.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/80.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
textbox Javascript中的备用案例_Javascript_Jquery_Input_Textbox - Fatal编程技术网

textbox Javascript中的备用案例

textbox Javascript中的备用案例,javascript,jquery,input,textbox,Javascript,Jquery,Input,Textbox,我想制作一段代码,交替用户输入的文本大小写。目前,我的代码如下所示: var num; function toTitleCase(str) { return str.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); }); } $('input, textarea').onkeyup(function () { prev =

我想制作一段代码,交替用户输入的文本大小写。目前,我的代码如下所示:

var num;

function toTitleCase(str) {
    return str.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); });
}

$('input, textarea').onkeyup(function () {
    prev = true;
    for (num = 0; num < this.length; num += 2)
    {
        this.substr(num).val(toTitleCase(this.substr(num)));
    }
});
var-num;
函数toTitleCase(str){
返回str.replace(/\w\S*/g,函数(txt){return txt.charAt(0.toUpperCase()+txt.substr(1.toLowerCase();});
}
$('input,textarea').onkeyup(函数(){
prev=真;
对于(num=0;num
问题是它不起作用(因为没有任何变化)。我试着让它成为一个Chrome扩展,但它并没有改变情况。是我测试代码的方式很奇怪还是代码有bug?

试试这个。简单的代码

$('input,textarea').keyup(函数(){
var值=$(this.val();
var altText='';
对于(num=0;num
删除
onkeyup
并仅使用不起作用的
keyup
此.length
每次都将不定义,请使用
此.value.length
或缓存
$(此)
,然后继续工作it@A.J
substr
也是一种方法**知识alert@siam是的,我的错。谢谢你的批改。
$('input, textarea').keyup(function () {
 var value = $(this).val();
 var altText = '';
 for (num = 0; num < value.length; num ++)
 {
    if(num%2==0)
      altText += value[num].toUpperCase();
    else
      altText += value[num].toLowerCase();
 }
 $(this).val(altText);
});
Below code should work

var num;

function toTitleCase(str) {
    return str.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); });
}

$('input, textarea').keyup(function () {
    var value = $(this).val();
    var char = value.slice(-1);
    if(value.length%2){
        var str2 = value.slice(0, -1) + toTitleCase(char);
        $(this).val(str2);
    }
 });