2

このスクリプトを使用して、あるテキストボックスから別のテキストボックスにコピーします。ボックスAに書き込むときに、ボックスBにコピーされるものを変更する方法がわかりません。exp。文字Aは001、文字Eは002、文字Vは008です。phpまたはJavaScriptのどちらであるかは気にしません。

お時間を割いていただきありがとうございます

<html>
<head>
<script type="text/javascript">
    function copy_data(val){
     var a = document.getElementById(val.id).value
     document.getElementById("copy_to").value=a
    }

    </script>
</head>
<body>
From:&nbsp;&nbsp;&nbsp; <input type="text" name ="a" id="copy_from" onkeyup="copy_data(this)"/><br>
To:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <input type="text" name ="b" id="copy_to"/><br>
</body>
</html>
4

2 に答える 2

0

これを行う1つの方法は、JavaScript関数を使用して、オブジェクトを使用して特定の文字を挿入する特定のコードにマップすることです(この場合、文字aはにマップされます001)。

var keysToCodes = {
    'a': '001',
    'b': '002',
    'c': '003',
    'd': '004'
};

function transferAndAmend(source, target, e) {
    if (!source || !target) {
        return false;
    }
    else {
        var e = e || window.event,
            keynum = window.event ? e.keyCode : e.which,
            key = String.fromCharCode(keynum),
            char = keysToCodes[key] ? keysToCodes[key] : key;
        target.value += char;
    }
}

var source = document.getElementById('one'),
    target = document.getElementById('two');

source.onkeypress = function(e) {
    transferAndAmend(this, target, e);
};​

JSフィドルデモ

これは、WindowsXPのChrome21およびIE7でテストされ、機能しているようです。

于 2012-09-20T16:15:05.890 に答える
0

これがあなたのコードを使ったjavacript置換関数の小さなサンプルです、それはおそらくあなたが探しているものです。

変更されたばかり:

document.getElementById("copy_to").value=a

に:

document.getElementById("copy_to").value=a
    .replace(/a/g, '001') // the letter/string, you code
    .replace(/b/g, '002') // ...
于 2012-09-20T16:15:22.370 に答える