我希望用户在我的<textarea>中看到换行符而不是&lt; br&gt; </textarea>

时间:2011-12-18 21:42:09

标签: javascript jquery textarea onkeyup

当我在br中输入<textarea>时,我的意思是:

<br>

按下键13(返回)时,我将br插入.message <textarea>。这会在我的<div>中与班级.M建立良好的换行符。

我的问题是,用户在br .message中看到<textarea>。我必须把它放在其他地方,下次按下一个键时不会添加br

这是我的代码:

$('.message').keyup(function(e){
        pos = $('.message').prop("selectionStart");
        start = $('.message').val().substring(0,pos);
        end = $('.message').val().substring(pos);
    //preventers
    if(e.keyCode==222){$('.message').val(msg);$('.M').html(msg);}else{msg = $('.message').val();$('.M').html(msg);}
    //replacers
        if(e.keyCode==13){msg = start+'<br>'+end;$('.message').val(msg);$('.M').html(msg);}else{msg = $('.message').val();$('.M').html(msg);}
    //sweep
    pattern=/'/gi;var illegal=msg.match(pattern);
    if(illegal!==null){illegal=illegal.length;while(illegal>0){msg=msg.replace("'","");msg=msg.replace('"','');$('.M').html(msg);$('.message').val(msg);illegal--;}}
    pattern=/"/gi;var illegal=msg.match(pattern);
    if(illegal!==null){illegal=illegal.length;while(illegal>0){msg=msg.replace("'","");msg=msg.replace('"','');$('.M').html(msg);$('.message').val(msg);illegal--;}}
});

HTML:

<textarea class="message" id="message" value="" maxlength="75"
         style="position:relative;top:1p‌​x;left:5px;resize:none;border:none;background:none;height:17px;width:428px;">
</te‌​xtarea>


<div class="M_" 
     style="position:relative;top:100px;left:0px;height:160px;width:200px;c‌​olor:#000;z-index:2;">
</div> 

1 个答案:

答案 0 :(得分:1)

我认为您在执行替换时可能会重新考虑。如果您尝试以交互方式执行此操作,您将会遇到困难。最好等待数据的提交,只更改发送到服务器的数据。