[英]upper case and lower case in text area
我有2个textarea
, maxlenghth
为25
:
<textarea row='5' cols='25' maxlength="200" name="address" id="text1"
value="text1" onkeyup="MyFunction()"></textarea>
<br><br>
<textarea row='5' cols='25' maxlength="200" name="address1" id="text2"
value="text2" onkeyup="MyFunction()"></textarea>
如果我在第一个textarea
输入小写字符,则打印大写字符,反之亦然。但是,如果我在第二个textarea
输入字符,则答案不在第一个textarea
打印。 请帮忙。
function MyFunction() {
var x1 = document.getElementById("text1").value;
var x2 = document.getElementById("text2").value;
var z = '';
for (i = 0; i < x1.length; i++) {
y = x1.charAt(i);
if (y == y.toLowerCase()) {
z = z + y.toUpperCase();
} else {
z = z + y.toLowerCase();
}
}
document.getElementById("text2").value = z;
var z1 = '';
for (j = 0; j < x2.length; j++) {
y1 = x2.charAt(j);
if (y1 == y1.toLowerCase()) {
z1 = z1 + y1.toUpperCase();
} else {
z1 = z1 + y1.toLowerCase();
}
}
document.getElementById("text1").value = z1;
}
无论用户键入哪个文本区域,都可以调用相同的函数,并且该函数会更新两个文本区域的值。 具体来说,您的函数将采用第一个文本区域中键入的内容,将字母的大小写取反,然后将其写入第二个文本区域。 然后,它以相同的方式处理第二个文本区域,除了使用已经更新的值作为基础。
因此,当您在第二个文本区域中键入内容时,刚键入的内容将被覆盖,然后才能进行处理。
我尚不清楚您想要的行为是什么,但是我想您打算在任一文本区域中键入内容以更新另一个文本区域。 我想到的第一个方法是将您的函数分为以下两个部分:
function MyFunction1() {
var x1 = document.getElementById("text1").value;
var z = '';
for (i = 0; i < x1.length; i++) {
y = x1.charAt(i);
if (y == y.toLowerCase()) {
z = z + y.toUpperCase();
} else {
z = z + y.toLowerCase();
}
}
document.getElementById("text2").value = z;
}
function MyFunction2(){
var x2 = document.getElementById("text2").value;
var z1 = '';
for (j = 0; j < x2.length; j++) {
y1 = x2.charAt(j);
if (y1 == y1.toLowerCase()) {
z1 = z1 + y1.toUpperCase();
} else {
z1 = z1 + y1.toLowerCase();
}
}
document.getElementById("text1").value = z1;
}
然后从第一个文本区域调用一个新的MyFunction1()
,然后从第二个文本区域调用MyFunction2()
:
<textarea row='5' cols='25' maxlength="200" name="address" id="text1"
value="text1" onkeyup="MyFunction1()"></textarea>
<br><br>
<textarea row='5' cols='25' maxlength="200" name="address1" id="text2"
value="text2" onkeyup="MyFunction2()"></textarea>
演示: http : //jsfiddle.net/Ntqq7/
您可以执行上述操作,也可以检查哪些textarea包含更多字符,而只需更新另一个字符
function MyFunction() {
var x1=document.getElementById("text1").value;
var x2=document.getElementById("text2").value;
var z='';
if (x1.length > x2.length)
{
for(i=0;i<x1.length;i++)
{
y=x1.charAt(i);
if(y==y.toLowerCase())
{
z=z+y.toUpperCase();
}
else
{
z=z+y.toLowerCase();
}
}
document.getElementById("text2").value=z;
}
else
{
var z1='';
for(j=0;j<x2.length;j++)
{
y1=x2.charAt(j);
if(y1==y1.toLowerCase())
{
z1=z1+y1.toUpperCase();
}
else
{
z1=z1+y1.toLowerCase();
}
}
document.getElementById("text1").value=z1;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.