按Enter键创建一个

时间:2011-11-26 14:37:25

标签: php javascript html onkeyup onkeypress

我已经制作了一个textarea表单,您可以在其中更改您的描述,并在我的问题中询问是否有任何禁用标签的方法。但现在有什么方法可以当你按 Enter 在textarea中设置<br />时,这样用户每次都不必输入<br />想换线?

我想到了如果它能找到没有任何东西的地方,但是这会有用吗?我不熟悉onpress事件......或者如果它在用户按下提交后检查输入,然后检查换行符。

我在YouTube,此网站以及其他许多网站上都看过这个。

3 个答案:

答案 0 :(得分:9)

在PHP中,您可以使用nl2br()函数将所有换行符替换为<br />个标记。

答案 1 :(得分:2)

<script src="jquery.js"></script>
<script>
    $(function ()
    {
        $('#txt').keyup(function (e){
            if(e.keyCode == 13){
                var curr = getCaret(this);
                var val = $(this).val();
                var end = val.length;

                $(this).val( val.substr(0, curr) + '<br>' + val.substr(curr, end));
            }

        })
    });

    function getCaret(el) { 
        if (el.selectionStart) { 
            return el.selectionStart; 
        }
        else if (document.selection) { 
            el.focus(); 

            var r = document.selection.createRange(); 
            if (r == null) { 
                return 0; 
            } 

            var re = el.createTextRange(), 
            rc = re.duplicate(); 
            re.moveToBookmark(r.getBookmark()); 
            rc.setEndPoint('EndToStart', re); 

            return rc.text.length; 
        }  
        return 0; 
    }

</script>
<div id="content">
    <textarea id="txt" cols="50" rows="10"></textarea>
</div>

答案 2 :(得分:1)

您可以这样做:

function createBr(e) {


   if (e.keyCode == 13) {
      document.createElement("BR");
       //do what you want with it
   }
}

希望有所帮助