我有javascript功能。 我正在使用该功能将英语翻译成文本字段中的另一种语言。 当一个人在box01中输入时,如下面的表格,box02在翻译模式下显示键入的英语内容。
<form id="txtBox" action="ps.php" enctype="multipart/form-data" method="post">
<textarea id="box01" onkeyup="startText_sin();" onselect="startText_sin();" onclick="startText_sin();" rows="2" placeholder ="Type in Here"></textarea>
<textarea id="box02" rows="2" placeholder ="Translated"></textarea>
</form>
但是我的单页中的表格很少,而且文字区域有不同的名称,如贝娄,
<textarea id="txt_sin01"></textarea>
<textarea id="txt_trn02"></textarea>
如何设置功能以适应所有这些文本区域?
我的职能是**startText_sin()**
在函数中我选择文本区域,如text = document.getElementById("box01");
任何帮助。
的 的 __ _ ___ 功能的 _ < / EM> __ _ __ _ _
` //数组到这里
function startText_sin(){
var s,r,v;
//text = document.txtBox.box1.value;
text_singlish = document.getElementById("box1_singlish").value;
//special consonents
for (var i=0; i<specialConsonants.length; i++){
text_singlish = text_singlish.replace(specialConsonants[i], specialConsonantsUni[i]);
}
//consonents + special Chars
for (var i=0; i<specialCharUni.length; i++){
for (var j=0;j<consonants.length;j++){
s = consonants[j] + specialChar[i];
v = consonantsUni[j] + specialCharUni[i];
r = new RegExp(s, "g");
text_singlish = text_singlish.replace(r, v);
}
}
//consonants + Rakaransha + vowel modifiers
for (var j=0;j<consonants.length;j++){
for (var i=0;i<vowels.length;i++){
s = consonants[j] + "r" + vowels[i];
v = consonantsUni[j] + "්ර" + vowelModifiersUni[i];
r = new RegExp(s, "g");
text_singlish = text_singlish.replace(r, v);
}
s = consonants[j] + "r";
v = consonantsUni[j] + "්ර";
r = new RegExp(s, "g");
text_singlish = text_singlish.replace(r, v);
}
//consonents + vowel modifiers
for (var i=0;i<consonants.length;i++){
for (var j=0;j<nVowels;j++){
s = consonants[i]+vowels[j];
v = consonantsUni[i] + vowelModifiersUni[j];
r = new RegExp(s, "g");
text_singlish = text_singlish.replace(r, v);
}
}
//consonents + HAL
for (var i=0; i<consonants.length; i++){
r = new RegExp(consonants[i], "g");
text_singlish = text_singlish.replace(r, consonantsUni[i]+"්");
}
//vowels
for (var i=0; i<vowels.length; i++){
r = new RegExp(vowels[i], "g");
text_singlish = text_singlish.replace(r, vowelsUni[i]);
}
document.getElementById("box2_singlish").value=text_singlish; //wirte on page in sihala
}
`
答案 0 :(得分:1)
将textarea的id传递给函数
var startText_sin = function (textId) {
text = document.getElementById(textId);
// do stuff
};
电话:
startText_sin("box01");
这是一个内联的例子:
<textarea id="box01" onkeyup="startText_sin("box01");" onselect="startText_sin("box01");" onclick="startText_sin("box01");" rows="2" placeholder ="Type in Here"></textarea>
我必须说,这是编写一个软件的可怕方式。您可以在页面上查看事件并处理它们,而不是对每个元素使用onselect和onclick。我知道这不是你在的地方,而是将来,以及任何阅读此内容的人。如果你正在编写比这更复杂的东西,那么你就不应该使用这些方法。