2012-09-20 30 views
2

使用此腳本將Im從一個複製到另一個文本框。當我在框A中寫入時,我不知道如何製作將要在框B中複製的內容以進行更改。進出口。字母A ti是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> 
+1

的Javascript具有[取代](http://www.w3schools.com/jsref/jsref_replace.asp)函數。除非你想在服務器上進行一次AJAX調用來完成每次按鍵上的翻譯,否則就不會用PHP來做,這將對您的服務器造成大量不必要的調用。 – Travesty3

回答

0

Here是一個使用你的代碼的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') // ... 
+0

感謝這項工作,但只是爲了第一次輸入字母,如果我輸入「ABVABV」我得到001002003ABV –

+0

固定,只是更改字符串RegExp對象 –

+0

感謝它的工作 –

0

一種方式是使用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 Fiddle demo

這在Windows XP的Chrome 21和IE 7中已經過測試,似乎可以正常工作。

相關問題