如何使用javascript函数执行多个任务?

时间:2013-11-02 14:21:38

标签: javascript html

我有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

}

`

1 个答案:

答案 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。我知道这不是你在的地方,而是将来,以及任何阅读此内容的人。如果你正在编写比这更复杂的东西,那么你就不应该使用这些方法。