我已经在我的表单中创建了一个单词计数textarea,并引用了您的网站,它运行正常。我试图在下面的代码中编辑我的mysql数据库中的数据,我可以在textarea中获取数据,但字数不起作用。
有人帮帮我吗?
$(document).ready(function() {
$("#12").on('keyup', function() {
var words = this.value.match(/\S+/g).length;
if (words > 300) {
// Split the string on first 300 words and rejoin on spaces
var trimmed = $(this).val().split(/\s+/, 300).join(" ");
// Add a space at the end to keep new typing making new words
$(this).val(trimmed + " ");
}
else {
$('#display_count_12').text(words);
$('#word_left_12').text(300-words);
}
});
});

<textarea name="f12" id="12" style="width:753px; height:80px;"><?php echo $f12;?></textarea><br>
<span style="font-size:14px"> Total word count: <span id="display_count_12">0</span> words. Words left: <span id="word_left_12" style="font-size:14px;color:red">300</span></span>
&#13;
答案 0 :(得分:0)
这是因为只有当您在textarea中输入内容时才会更新字数 所以你必须在页面加载时启动它。
用你的js替换你的js。
$(document).ready(function() {
$(function(){
let words = $('#12').val().match(/\S+/g).length;
$('#display_count_12').text(words);
$('#word_left_12').text(300 - words);
});
$("#12").on('keyup', function() {
var words = this.value.match(/\S+/g).length;
if (words > 300) {
// Split the string on first 300 words and rejoin on spaces
var trimmed = $(this).val().split(/\s+/, 300).join(" ");
// Add a space at the end to keep new typing making new words
$(this).val(trimmed + " ");
}
else {
$('#display_count_12').text(words);
$('#word_left_12').text(300-words);
}
});
});