修改您的表单标签,使其显示为:
<form onsubmit="checktextarea()" action="<?php echo(get_permalink($post->ID)); ?>#create_new_post" method="post">
然后在你的javascript中,输入
function checktextarea() {
var minLength = 15;
var $textarea = $('#et_newpost_content');
if($textarea.text().length < minLength) {
alert('You need to enter at least ' + minLength ' + characters');
return false;
}
}
这将阻止提交表单,除非文本区域中文本的字符长度大于您为 minLength 设置的长度。
编辑
我看到我误读了问题并计算了字符而不是单词。如果您需要文字(和@João 的道具),该功能应类似于
function checktextarea() {
var minLength = 15;
var $textarea = $('#et_newpost_content');
if($textarea.text().split(/\s+/).length < minLength) {
alert('You need to enter at least ' + minLength + ' words');
return false;
}
}
split函数使用正则表达式将textarea 中的文本按空格字符拆分,并将其放入数组中。然后你检查数组的长度,看看你是否有足够的单词
编辑 2
在以noConflict模式运行的 Wordpress 站点中,代码段应如下所示
function checktextarea() {
var minLength = 15;
var $textarea = jQuery('#et_newpost_content');
if($textarea.text().split(/\s+/).length < minLength) {
alert('You need to enter at least ' + minLength + ' words');
return false;
}
}