Javascript 文本区域中的单词下限

Javascript 文本区域中的单词下限,javascript,textarea,Javascript,Textarea,我有这段代码,它显示字数并应用字数上限。您能告诉我如何更改此代码以应用下限吗?例如,如果用户输入299个单词并点击enter键,则会出现一个弹出窗口,显示“您没有输入足够的单词”。谢谢 $("#TextArea").on('keyup', function () { var words = this.value.match(/\S+/g).length; if (words > 300) { var trimmed = $(t

我有这段代码,它显示字数并应用字数上限。您能告诉我如何更改此代码以应用下限吗?例如,如果用户输入299个单词并点击enter键,则会出现一个弹出窗口,显示“您没有输入足够的单词”。谢谢

    $("#TextArea").on('keyup', function () {
        var words = this.value.match(/\S+/g).length;
        if (words > 300) {
            var trimmed = $(this).val().split(/\s+/, 300).join(" ");

            $(this).val(trimmed + " ");
        }
        else {
            $('#display_count2').text(words);
            $('#word_left2').text(300 - words);
        }
    });

}); 

您需要添加一个按键事件,以便在按下enter键时使其工作。如果希望它在表单中的任何位置工作,可以将其添加到文档中。这样,无论在何处按enter键,它都将运行

$(document).keypress(function(e) {
    if(e.which == 13) {
        checkWordLimit();
    }
});
然后可以将其连接到一个检查单词长度的函数

function checkWordLimit() {
    var words = this.value.match(/\S+/g).length;
    if (words < 300) {
        alert("You need to enter at least 300 words!");
    } else {
        $('#display_count2').text(words);
        $('#word_left2').text(300 - words);
    }
}

要在提交表单之前进行检查(单击按钮),则可以根据字数检查将函数更改为返回
true/false
,如果成功,则提交表单。请注意,这是一个常规按钮,而不是提交按钮。如果是提交按钮,则需要截取表单中的
submit
事件

$("#SomeButton").on('click', function () {
    if(checkWordLimit()) {
        $("#SomeForm").submit();
    }
});

您需要添加一个按键事件,以便在按下enter键时使其工作。如果希望它在表单中的任何位置工作,可以将其添加到文档中。这样,无论在何处按enter键,它都将运行

$(document).keypress(function(e) {
    if(e.which == 13) {
        checkWordLimit();
    }
});
然后可以将其连接到一个检查单词长度的函数

function checkWordLimit() {
    var words = this.value.match(/\S+/g).length;
    if (words < 300) {
        alert("You need to enter at least 300 words!");
    } else {
        $('#display_count2').text(words);
        $('#word_left2').text(300 - words);
    }
}

要在提交表单之前进行检查(单击按钮),则可以根据字数检查将函数更改为返回
true/false
,如果成功,则提交表单。请注意,这是一个常规按钮,而不是提交按钮。如果是提交按钮,则需要截取表单中的
submit
事件

$("#SomeButton").on('click', function () {
    if(checkWordLimit()) {
        $("#SomeForm").submit();
    }
});

您需要在该文本区域中添加keydown事件,事件处理程序函数应该是这样的

function onKeyDown(e){ 
  if(e.keyCode == 13){ //for enterkey
      var words = this.value.match(/\S+/g).length;
    if(words >= 300){
       //Your success code
     }else{
       alert("You didn't enter enough words");
     }
   }
}

您需要在该文本区域中添加keydown事件,事件处理程序函数应该是这样的

function onKeyDown(e){ 
  if(e.keyCode == 13){ //for enterkey
      var words = this.value.match(/\S+/g).length;
    if(words >= 300){
       //Your success code
     }else{
       alert("You didn't enter enough words");
     }
   }
}

如果用户单击enter按钮,而不是按enter键,该怎么办。我想实时显示字数,我的意思是当字数增加时,它应该增加。谢谢。如果是“提交”按钮,那么您可以将函数更改为返回true或false,并根据返回结果提交表单。我将更新问题“如果用户单击enter按钮,而不是按enter键,该怎么办?”。我想实时显示字数,我的意思是当字数增加时,它应该增加。谢谢。如果是“提交”按钮,那么您可以将函数更改为返回true或false,并根据返回结果提交表单。我会更新这个问题