繁体   English   中英

Javascript附加输入字段

[英]Javascript appending input fields

我有这个脚本JsFiddle,并且我尝试更改提交的字符,但是当您按ex键时: sss s两倍,而不是显示xx它将其更改为ss

完整代码:

<body>
    <div id='out'></div>

    <textarea id="in" name="messages" onkeyup="test()"></textarea>
    <input type="submit" id="submit" name="submit" />

js功能:

    function test(){            
        var origin = document.getElementById("in").value;
        var send = document.getElementById("out"); 

       if(origin =='s'){
        origin = 'z';
       }
        send.innerHTML = origin;
    }

    </script>
var replacements = {
    "s": "z",
    // repeat for all the characters you want to replace
};

var neworigin = '';
for (var i = 0; i < origin.length; i++) {
    neworigin += (origin[i] in replacements) ? replacements[origin[i]] : origin[i];
    }
}
send.innerHTML = neworigin;

似乎您要在分配send之前用z替换所有s字符。 您当前的代码只替换sz如果origin恰好是一个s 尝试以下方法:

send.innerTHML = origin.replace(/s/g, 'z');

它将在origin中用z替换每次出现的s并将结果分配给send.innerHTML (以防万一,您可以摆脱if语句。)

如果要用相同的替换字符替换所有字符,可以将正则表达式从/s/g更改为/./g 如果要用其他取决于字符的字符替换每个字符,则可以使用查找功能:

var mapper = function(match) {
    return match === 's' ? 'z' : '?'; // or whatever mapping function you want
}
send.innerHTML = origin.replace(/./g, mapper);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM