我想到的解决办法:
1。在出错的位置换行,这个好解决,但要用户在上万个电话号码当中找换行的,太行不通了。
2。用颜色来区分,就是在出错的哪个电话号码的前后设置不一样的颜色(如:正确的颜色是普通,从错误的号码开始,一直到结束,用红色)。但没做出来。
span {
color: #ab0000;
font-size: 18px;
}
function phones(obj) { //obj是Action判断电话出错后电话号码,正确的直接返回多行文本框,错误的弹出对话框。
if (obj != "") {
alert("错误的电话号码是:"+obj);
var txt=document.getElementById("smsTel").value;//多行文本框。
var span = document.createElement("span");
span.innerHTML = obj;
txt.appendChild(span);
}
}
IE6说,不支持(txt.appendChild(span))对象和方法。
各位大哥,帮帮忙,急,在线等。
13 个解决方案
#1
#2
用jQuery很简单,在出错的那个文本框上addClass('span')就可以了。不过这里建议你定义的样式不要用span,换个error什么的。
#3
//注意:txt不是文本框,而是文本框的值。document.getElementById("smsTel")才是文本框。
var txt=document.getElementById("smsTel").value;//多行文本框。
var span = document.createElement("span");
span.innerHTML = obj;
//文本框的值当然不能添加儿子了,文本框才可以。
txt.appendChild(span);
}
}
var txt=document.getElementById("smsTel").value;//多行文本框。
var span = document.createElement("span");
span.innerHTML = obj;
//文本框的值当然不能添加儿子了,文本框才可以。
txt.appendChild(span);
}
}
#4
补充一下:
我的上面说法有误。
smsTel应该不是文本框,文本框应该理解为<input type="text" ... />
所以我觉得smsTel可能是一个div或者span或者其他的某个东西。
我的上面说法有误。
smsTel应该不是文本框,文本框应该理解为<input type="text" ... />
所以我觉得smsTel可能是一个div或者span或者其他的某个东西。
#5
明白了,按楼主的说法,smsTel可能是一个文本区<textarea>...</textarea>
我印象中文本区应该不可以appendChild一个span吧
我印象中文本区应该不可以appendChild一个span吧
#6
有道理啊。
#7
仔细分析一下这个问题,在一个文本区中要输入上万的电话号码,我想在实际系统中很少这么做,用户体验很不好。
这上万个电话号码是由用户一点一点就在你那个文本区中输入的吗?不知道要输入到什么时候,万一不小心关了浏览器,一切都得重来。没有用户愿意这么干。
那我可以想象这上万个电话号码是从某个文件(文本或者excel等)复制过来的,那个文件是用户花了很多天时间,甚至是从各个地市汇总过来的。那我们可以实现从文件中读取,发现出问题了,告诉用户哪些行错了就可以。
姑且算这个要求合理。
在textarea设置一小部分字符变色,是不可以的,只能全变。里面也不能加span元素。这2中方法不可行,除非不要在textarea中输入。
所以非要用textarea的话,可以用第一种方法,
1。在出错的位置换行,这个好解决,但要用户在上万个电话号码当中找换行的,太行不通了。(建议改为在前面加上“******************”之类的,好查找)
事实上在上万个电话号码中找变色的,也很难呢。
这上万个电话号码是由用户一点一点就在你那个文本区中输入的吗?不知道要输入到什么时候,万一不小心关了浏览器,一切都得重来。没有用户愿意这么干。
那我可以想象这上万个电话号码是从某个文件(文本或者excel等)复制过来的,那个文件是用户花了很多天时间,甚至是从各个地市汇总过来的。那我们可以实现从文件中读取,发现出问题了,告诉用户哪些行错了就可以。
姑且算这个要求合理。
在textarea设置一小部分字符变色,是不可以的,只能全变。里面也不能加span元素。这2中方法不可行,除非不要在textarea中输入。
所以非要用textarea的话,可以用第一种方法,
1。在出错的位置换行,这个好解决,但要用户在上万个电话号码当中找换行的,太行不通了。(建议改为在前面加上“******************”之类的,好查找)
事实上在上万个电话号码中找变色的,也很难呢。
#8
这个业务逻辑有一个导入电话号码的功能,导入的时候没有做相关判断,因为如果在这里判断了,用户再修改导入后的怎么办,如果不让用户输入,哪么只有一个电话号码也要导入,肯定不行。
1。在出错的位置换行,这个好解决,但要用户在上万个电话号码当中找换行的,太行不通了。(建议改为在前面加上“******************”之类的,好查找),找星号也难啊。我认为颜色区分稍好一点。
但还是谢谢你的建议。
有没有其它好的方法实现。
1。在出错的位置换行,这个好解决,但要用户在上万个电话号码当中找换行的,太行不通了。(建议改为在前面加上“******************”之类的,好查找),找星号也难啊。我认为颜色区分稍好一点。
但还是谢谢你的建议。
有没有其它好的方法实现。
#9
如此大量的号码为什么不做导入功能要在也输入呢
谁会有耐心一次输入1w个号码
就算有耐心输入了 session不会失效吗
谁会有耐心一次输入1w个号码
就算有耐心输入了 session不会失效吗
#10
想改变textarea里某一个字符颜色的话建议用下fckeditor试试,
当遇见错误的字符串时,错误的字符串换成加上fckeditor内添加颜色的标签的字符串,然后再输出到textarea中,就会有变色了。
#11
请问
wangchao523
fckeditor是什么,这个怎么做。 能说详细点吗?
wangchao523
fckeditor是什么,这个怎么做。 能说详细点吗?
#12
fckeditor 如果lz没有其它需求还是不要用这玩意比较好. 最少版本也要700多K.太胖了. 还不如试试jquery
#13
3q.问题解决了,是我对JAVASCRIPT题解不够。
function phones(obj) { //obj是服务端返回的信息
if (obj != "") {
var txt=document.getElementById("smsTel");
var span = document.createElement("span");
span.style.color = "red";
span.innerHTML=obj;
txt.appendChild(span);
document.getElementById("smsTel").focus();
}
}
正确的已经负值给多行广西框了。
function phones(obj) { //obj是服务端返回的信息
if (obj != "") {
var txt=document.getElementById("smsTel");
var span = document.createElement("span");
span.style.color = "red";
span.innerHTML=obj;
txt.appendChild(span);
document.getElementById("smsTel").focus();
}
}
正确的已经负值给多行广西框了。
#1
#2
用jQuery很简单,在出错的那个文本框上addClass('span')就可以了。不过这里建议你定义的样式不要用span,换个error什么的。
#3
//注意:txt不是文本框,而是文本框的值。document.getElementById("smsTel")才是文本框。
var txt=document.getElementById("smsTel").value;//多行文本框。
var span = document.createElement("span");
span.innerHTML = obj;
//文本框的值当然不能添加儿子了,文本框才可以。
txt.appendChild(span);
}
}
var txt=document.getElementById("smsTel").value;//多行文本框。
var span = document.createElement("span");
span.innerHTML = obj;
//文本框的值当然不能添加儿子了,文本框才可以。
txt.appendChild(span);
}
}
#4
补充一下:
我的上面说法有误。
smsTel应该不是文本框,文本框应该理解为<input type="text" ... />
所以我觉得smsTel可能是一个div或者span或者其他的某个东西。
我的上面说法有误。
smsTel应该不是文本框,文本框应该理解为<input type="text" ... />
所以我觉得smsTel可能是一个div或者span或者其他的某个东西。
#5
明白了,按楼主的说法,smsTel可能是一个文本区<textarea>...</textarea>
我印象中文本区应该不可以appendChild一个span吧
我印象中文本区应该不可以appendChild一个span吧
#6
有道理啊。
#7
仔细分析一下这个问题,在一个文本区中要输入上万的电话号码,我想在实际系统中很少这么做,用户体验很不好。
这上万个电话号码是由用户一点一点就在你那个文本区中输入的吗?不知道要输入到什么时候,万一不小心关了浏览器,一切都得重来。没有用户愿意这么干。
那我可以想象这上万个电话号码是从某个文件(文本或者excel等)复制过来的,那个文件是用户花了很多天时间,甚至是从各个地市汇总过来的。那我们可以实现从文件中读取,发现出问题了,告诉用户哪些行错了就可以。
姑且算这个要求合理。
在textarea设置一小部分字符变色,是不可以的,只能全变。里面也不能加span元素。这2中方法不可行,除非不要在textarea中输入。
所以非要用textarea的话,可以用第一种方法,
1。在出错的位置换行,这个好解决,但要用户在上万个电话号码当中找换行的,太行不通了。(建议改为在前面加上“******************”之类的,好查找)
事实上在上万个电话号码中找变色的,也很难呢。
这上万个电话号码是由用户一点一点就在你那个文本区中输入的吗?不知道要输入到什么时候,万一不小心关了浏览器,一切都得重来。没有用户愿意这么干。
那我可以想象这上万个电话号码是从某个文件(文本或者excel等)复制过来的,那个文件是用户花了很多天时间,甚至是从各个地市汇总过来的。那我们可以实现从文件中读取,发现出问题了,告诉用户哪些行错了就可以。
姑且算这个要求合理。
在textarea设置一小部分字符变色,是不可以的,只能全变。里面也不能加span元素。这2中方法不可行,除非不要在textarea中输入。
所以非要用textarea的话,可以用第一种方法,
1。在出错的位置换行,这个好解决,但要用户在上万个电话号码当中找换行的,太行不通了。(建议改为在前面加上“******************”之类的,好查找)
事实上在上万个电话号码中找变色的,也很难呢。
#8
这个业务逻辑有一个导入电话号码的功能,导入的时候没有做相关判断,因为如果在这里判断了,用户再修改导入后的怎么办,如果不让用户输入,哪么只有一个电话号码也要导入,肯定不行。
1。在出错的位置换行,这个好解决,但要用户在上万个电话号码当中找换行的,太行不通了。(建议改为在前面加上“******************”之类的,好查找),找星号也难啊。我认为颜色区分稍好一点。
但还是谢谢你的建议。
有没有其它好的方法实现。
1。在出错的位置换行,这个好解决,但要用户在上万个电话号码当中找换行的,太行不通了。(建议改为在前面加上“******************”之类的,好查找),找星号也难啊。我认为颜色区分稍好一点。
但还是谢谢你的建议。
有没有其它好的方法实现。
#9
如此大量的号码为什么不做导入功能要在也输入呢
谁会有耐心一次输入1w个号码
就算有耐心输入了 session不会失效吗
谁会有耐心一次输入1w个号码
就算有耐心输入了 session不会失效吗
#10
想改变textarea里某一个字符颜色的话建议用下fckeditor试试,
当遇见错误的字符串时,错误的字符串换成加上fckeditor内添加颜色的标签的字符串,然后再输出到textarea中,就会有变色了。
#11
请问
wangchao523
fckeditor是什么,这个怎么做。 能说详细点吗?
wangchao523
fckeditor是什么,这个怎么做。 能说详细点吗?
#12
fckeditor 如果lz没有其它需求还是不要用这玩意比较好. 最少版本也要700多K.太胖了. 还不如试试jquery
#13
3q.问题解决了,是我对JAVASCRIPT题解不够。
function phones(obj) { //obj是服务端返回的信息
if (obj != "") {
var txt=document.getElementById("smsTel");
var span = document.createElement("span");
span.style.color = "red";
span.innerHTML=obj;
txt.appendChild(span);
document.getElementById("smsTel").focus();
}
}
正确的已经负值给多行广西框了。
function phones(obj) { //obj是服务端返回的信息
if (obj != "") {
var txt=document.getElementById("smsTel");
var span = document.createElement("span");
span.style.color = "red";
span.innerHTML=obj;
txt.appendChild(span);
document.getElementById("smsTel").focus();
}
}
正确的已经负值给多行广西框了。