如何通过单击提交按钮或按 Enter 提交文本区域



目前我只能通过单击提交按钮来提交textarea。我还看到了多篇帖子,例如这篇,关于如何通过按 Enter 提交表单。但是,我想知道是否有办法在一个函数中实现两者。

目前,我有: $('form[name=userForm]').on('submit', function() {...}.

您可以在一个函数中调用多个事件侦听器,方法是用空格分隔它们。

在本例中,我们将侦听keypress事件和click事件,并传入事件参数以侦听输入了哪个按钮。

<input type="submit" id="submit-btn">Submit</button>
$(function(){
    $("#submit-btn").on("keypress click", function(event){
        var formValue = $("textarea").val();
        if (event.which === 13 || event.type === "click") {
           // Form submission code goes here
        }
    });
});

您也可以使用两个功能来实现。在第二个中,您可以查看提交按钮的单击事件。

$("#submit-btn").click(function(){
    var formValue = $("textarea").val();
        // Submission logic goes here.
    })
    // Trigger the submit button's click event
    $("textarea").keypress(function(event) {
        if (event.which === 13) {
            $("#submit-btn").click();
        }
    });

定义你的提交函数并重用它:

var submitForm = function() {...};
$('form[name=userForm]').on('submit', submitForm);
$('textarea').keypress(function (e) {
  if (e.which == 13) {
    submitForm();
  }
});

最新更新