表单在文本区域中输入键而不是换行符

时间:2018-04-19 04:40:55

标签: jquery html

当我按下输入时,我有一个简单的textarea我的表单已提交。我想在textarea中换行而不是提交。

<textarea rows="4" asp-for="@Model.BusinessDescription"></textarea>
<script>
        $(function () {

            function disableF5(e) {

                if (e.keyCode == 13) {
                    $("#nextButton").click();


                }
            }


        });
    </script>

2 个答案:

答案 0 :(得分:0)

$('textarea').on('keydown', function(e) {
    if (e.keyCode == 13)
        $('#form').submit();
});

$('#form').on('submit', function() {
    console.log($("#txtarea").val());
    console.log("Form submitted successfully!!!");
    document.write("Form submitted successfully!!!");
    return false;
});
#txtarea {
    padding: 6px;
    line-height: 1.618;
    font: 12px Verdana;
    display: block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="form">
  <textarea placeholder="Press Enter" id="txtarea" name="txtarea"></textarea>
</form>

答案 1 :(得分:0)

以下代码应解决问题。在这里,我假设有两件事。

  1. 如果用户仅按“Enter”键,则文本区域将在文本区域中显示新行
  2. 如果用户按'Shift + Enter'组合,则表单已提交(当用户在textarea内时适用)。
  3. $('textarea').on('keydown', function(e) {
     if (e.shiftKey == true) //Checking if Shift is pressed
     {
        if (e.key == "Enter") 
            $('#form').submit();
     }
    });
    
    $('#form').on('submit', function() {
        console.log($("#txtarea").val());
        console.log($("#txtNormal").val());
        console.log("Form submitted successfully!!!");
        document.write("Form submitted successfully!!!");
        return false;
    });
    #txtarea {
        padding: 6px;
        line-height: 1.618;
        font: 12px Verdana;
        display: block;
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <fieldset>
    <legend>Form Submit v/s New Line</legend>
    <ul>
    <li>New Line in Text Area on <b>only Pressing Enter</b> and no form submit</li>
    <li>Form Submit on <b>Shift+Enter</b></li>
    </ul>
    <form id="form">
    <table>
    <tr>
      <td>Singleline Input</td>
      <td>
        <input type="text" id="txtNormal" value="" placeholder="Enter Value" />&nbsp;<i>Form Submits on Pressing Enter</i>
      </td>
    </tr>
    <tr>
      <td>Text Area Input</td>
      <td><textarea placeholder="Press Enter" id="txtarea" name="txtarea" width="100%"></textarea>
      </td>
    </tr>
    <tr>
    <td></td>
    <td><i>Form Submits only on Pressing 'Shift+Enter' when in textarea input field</i></td>
    </tr>
    
    <tr>
    <td></td>
    <td><input type="submit" value="submit" /></td>
    </tr>
    <table>
    
      
    </form>
    </fieldset>