3

説明を変更できるテキストエリアフォームを作成しました。前の質問のように、タグを禁止する方法があるかどうかを尋ねました。しかし、ユーザーが改行を必要とするたびに入力する必要がないように、テキスト領域にEnteraが設定されるように押すと、どのような方法がありますか?<br /><br />

何もないところを見つけられたらいいなと思いましたが、うまくいくのでしょうか?私はonpressイベントに精通していません...または、ユーザーが送信を押した後に入力をチェックしてから、改行をチェックする場合。

私はこれをYouTube、このサイト、そして他の多くのサイトでも見ました。

4

3 に答える 3

9

PHPでは、この関数を使用して、改行をタグnl2br()に置き換えることができます。<br />

于 2011-11-26T14:40:08.420 に答える
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>
于 2011-11-26T14:41:05.817 に答える
1

あなたはこれを次のように行うことができます:

関数createBr(e){


   if(e.keyCode == 13){
      document.createElement( "BR");
       //やりたいことをやります
   }
}

それが役に立てば幸い

于 2011-11-26T14:41:01.713 に答える