Add new line character to textarea instead of submitting form

后端 未结 7 1870
臣服心动
臣服心动 2021-01-04 04:40

I have a form with a text area and hitting the enter key submits my form. How can I make it to add a new line character instead of a form submit.

相关标签:
7条回答
  • 2021-01-04 04:51
    $(document).ready(function() {
      $('textarea').keydown(function(event){
        if (event.keyCode == 13) {
          event.preventDefault();
          var s = $(this).val();
          $(this).val(s+"\n");
        }
      });
    });
    
    0 讨论(0)
  • 2021-01-04 04:54

    This should help

    $('#myProblematicForm textarea').keypress(function(event) {
      if (event.which == 13) {
        event.preventDefault();
        this.value = this.value + "\n";
      }
    });
    

    For what it's worth, I'm using Chrome on OS X and Enter inserts a \n in a textarea for me and does not submit forms by default.

    0 讨论(0)
  • 2021-01-04 04:59
    $(document).ready(function(){
    $("#text").keypress(function(event) {   
       if (event.which == 13) { 
          var s = $(this).val();
          $(this).val(s+"\n");  //\t for tab
       }
    });      
    });
    

    This can be done by jquery code that I have given above. Must notice that the use of ready function is necessary when you write above script before the codes of the HTML input field, and not necessary when you write it after the input field codes.If it not working try to use \t in place of \n it will work.

    0 讨论(0)
  • 2021-01-04 05:05

    Previous answers don't handle splitting the current value of the textarea and simply appends a new line character. The following stops the event from bubbling up to the form and still allows typical textarea behavior on 'enter'.

    $('textarea').keydown(function(event) {
      if (event.keyCode === 13) {
        event.stopPropagation();
      }
    });
    
    0 讨论(0)
  • 2021-01-04 05:07

    you can try this code:

    $(document).ready(function() {
      $("textarea").keydown(function(event){
        if(event.keyCode == 13) {
          event.preventDefault();
          return false;
        }
      });
    });
    
    0 讨论(0)
  • 2021-01-04 05:08

    This worked for me

    $(document).keypress(function(e) {
    if(e.which == 13) {
        if(document.activeElement.tagName != "TEXTAREA") {
            e.preventDefault();
        };
      }
    })
    
    0 讨论(0)
提交回复
热议问题