文本区域中的字数限制较低
Lower word limit in textarea
我有这个代码,它显示字数统计并应用字数上限。你能告诉我如何更改此代码以应用下限吗?例如,如果用户输入 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 时使其正常工作。如果您希望它在表单中的任何位置工作,则可以将其添加到文档中。这样,无论在哪里按回车键,它都会运行。
$(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);
}
}
如果要保持字数统计文本更新,只需在 keyup 事件中继续调用该函数:
$("#TextArea").on('keyup', function () {
checkWordLimit();
});
要在提交表单之前进行检查(单击按钮),则可以更改函数以根据字数检查返回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");
}
}
}
相关文章:
- onkeyup无法动态创建多个文本区域
- 具有所有样式的文本正在复制到可编辑文本区域
- 在文本区域POST后解码JSON
- HTML文本区域文本到XML
- 阻止在文本区域/文本框中输入数字
- 使用 javascript 单击图片后更改<文本区域>文本
- 使用 javascript 检测文本区域/文本输入中的 HTML 标记,但它应该支持常见的>和<
- 在按 Tab 键时选择文本区域文本
- 切换文本区域文本,但保留对文本的更改
- 清除文本区域/文本框内容的按钮
- 加载页面时,聚焦并全选文本区域文本
- 如何使可编辑文本区域文本不可选择
- 我的文本区域文本是't用javascript将我想要的样式设置为CSS
- 使用jQuery将文本区域文本安全地存储在隐藏字段中,然后稍后在PHP中使用该文本
- 删除文本区域文本提交在新的选项卡
- 如何在添加新文本时保持文本区域文本静态
- 使用 jQuery 将文本区域文本设置为格式正确的 HTML 代码
- 为什么文本添加到区域文本是通过页面刷新,而不是直接刷新
- 使用 jquery 修改文本区域文本
- 如何使用Javascript在文本区域(文本框)中单击(光标闪烁)而不使用鼠标单击