object.wrap [ = sWrap ]
soft Default. Text is displayed with wordwrapping and submitted without carriage returns and line feeds. 
hard Text is displayed with wordwrapping and submitted with soft returns and line feeds. 
off Wordwrapping is disabled. The lines appear exactly as the user types them. 
这不是说wrap="hard"之后,显式的加入硬回车吗?
当手工敲回车的时候,txtTest.value.indexOf("\n")和txtTest.value.indexOf("\r")就都能得到值。
为什么啊?

解决方案 »

  1.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>new page</title>
    <script>
    function a(){
    alert(document.getElementById("t").innerText.replace("\r\n","$"));//回车换行换成"$"
    }
    </script>
    </head>
    <body>
    <textarea id=t></textarea>
    <input type=button onclick="a()" value="ok">
    </body>
    </html>
      

  2.   

    txtTest.innerHTML.indexOf("\n")
    or 
    txtTest.innerText.indexOf("\n")
      

  3.   

    我这里测试lihui_shine(浪尖赏花) 和huo789(爱拼才会赢)提出的方法,怎么都不行呢?
      

  4.   

    你先在textarea里输入几行数据,然后再点击按钮,
    try it:<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>new page</title>
    <script>
    function a(){
    alert(document.getElementById("t").innerText.split("\r\n").join("<回车换行>"));//回车换行换成"$"
    }
    </script>
    </head>
    <body>
    <textarea id=t></textarea>
    <input type=button onclick="a()" value="ok">
    </body>
    </html>
      

  5.   

    不手动敲个回车:<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>new page</title>
    <script>
    function a(){
    var cols=document.getElementById("t").cols;
    var str=document.getElementById("t").innerText;
    var str1="";
    var len=0;
    for(var i=0;i<str.length;i++){
    if(str.charCodeAt(i)>128){
    if(len==19){
    len=2;
    str1+="\n";
    }else{
    len=len+2;
    }
    }else{   
    len=len+1;
    }
    str1+=str.charAt(i);
    if(len==20){
    str1+="\n";
    len=0;
    }
    }
    alert(str1);
    }
    </script>
    </head>
    <body onload="javascript:document.getElementById('t').innerText='中华人民shreh共和国1中华人民共srs和h国中华人htr民共和国'">
    <textarea id=t></textarea>
    <input type=button onclick="a()" value="ok">
    </body>
    </html>
      

  6.   

    lihui_shine(浪尖赏花) 的方法在都是中文输入的时候没有问题,但如果输入英文,而且英文刚好处在换行的地方的时候,就出现bug了,:(
      

  7.   

    to redcaff_ll()
    我测过了,没问题啊,IE通过
      

  8.   

    上面参数方面有点问题,更正
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>new page</title>
    <script>
    function a(){
    var cols=document.getElementById("t").cols;
    var str=document.getElementById("t").innerText;
    var str1="";
    var len=0;
    for(var i=0;i<str.length;i++){
    if(str.charCodeAt(i)>128){
    if(len==(cols-1)){
    len=2;
    str1+="\n";
    }else{
    len=len+2;
    }
    }else{   
    len=len+1;
    }
    str1+=str.charAt(i);
    if(len==cols){
    str1+="\n";
    len=0;
    }
    }
    alert(str1);
    }
    </script>
    </head>
    <body onload="javascript:document.getElementById('t').innerText='中华人民shreh共和国1中华人民共srs和h国中华人htr民共和国'">
    <textarea id=t></textarea>
    <input type=button onclick="a()" value="ok">
    </body>
    </html>
      

  9.   

    to redcaff_ll() 
    合着你的意思,还要判断是否为英文单词,是英文单词还不能分开
    这么智能化,我也去开个永中好了
      

  10.   

    先谢谢lihui_shine(浪尖赏花)了!
    我要解决的就是这个问题,现在就差这一步了,我就是想知道textarea自动分行后是否会产生换行符,如果知道这个换行符,我的问题就解决了!
      

  11.   

    to redcaff_ll()
    你的问题是什么,不妨说得详细明白些嘛!只要判断下是否为英文单词?还有其他的吗?
      

  12.   

    我的问题:
    textarea自动换行的换行符是什么?
    js中如何获得textarea自动换行的换行符?
    就是这个意思阿。
      

  13.   

    to lihui_shine(浪尖赏花):
    你所做的处理和我的处理有点殊途同归,实际上我也是想取textarea具体每一行的内容,但要求的就是严格按照textarea里显示的情况一行一行的取出来。
      

  14.   

    to redcaff_ll()
    1.textarea没有自动换行的换行符
    2.严格按照textarea里显示的情况一行一行的取出来
      这一点我的事例程序已经做到了:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>new page</title>
    <script>
    function a(){
    var cols=document.getElementById("t").cols;
    var str=document.getElementById("t").innerText;
    var str1="";
    var len=0;
    for(var i=0;i<str.length;i++){
    if(str.charCodeAt(i)>128){
    if(len==(cols-1)){
    len=2;
    str1+="\n";
    }else{
    len=len+2;
    }
    }else{   
    len=len+1;
    }
    str1+=str.charAt(i);
    if(len==cols){
    str1+="\n";
    len=0;
    }
    }
    var strAry=str1.split("\n");
    for(var i=0;i<strAry.length;i++){
    alert("第"+(i+1)+"行:"+strAry[i]);
    }
    }
    </script>
    </head>
    <body onload="javascript:document.getElementById('t').innerText='中华人民shreh共和国1中华人民共srs和h国中华人htr民共和国'">
    <textarea id=t></textarea>
    <input type=button onclick="a()" value="ok">
    </body>
    </html>
      

  15.   

    先谢谢lihui_shine(浪尖赏花)!
    但我测了一下还是有一点问题,在<textarea id=t></textarea>里面随便输入一些英文字母测试再alert出来,就看出来了。
      

  16.   

    lihui_shine 的核心就是用到了documetn.getelementbyid("t").clos;
    事实上textare默认cols=20,如果textarea的style="width:100%"
    就会有问题。
      

  17.   

    哎!看来还是不解决! WRAP= "hard " 时,js取不到换行符,但如果直接提交到服务,就会有换行符!
      

  18.   

    obj.value = getElementById('textarea').value.replace(/\r?\n/g, "\\n");