我想创建文本区域字符计数器和限制器。我有以下代码,但由于某种原因它不起作用。
<?=$form->field($model, 'example', ['template' => '{label}{input}{error}', 'labelOptions' => $class_label])
->textarea(['onKeyDown' => 'limiter()', 'onKeyUp' => 'limiter()'])
echo "<input id='ch' type='text' style='width:45px' readonly value ='300'> characters remain";
?>
以下代码是插入在“...”之间的javascript代码:
<script type="text/javascript">
function limiter(){
var example = document.getElementById("example");
if(example.value.length > 300){
example.value = example.value.substring(0, 300);
}
else{
document.getElementById("ch").value = 300 - example.value.length;
}
}
</script>
如果您能帮助我更正我的代码,我将不胜感激。
提前致谢。
最佳答案
经过测试,上面的 JavaScript 可以工作,所以我只能假设这是 HTML 的渲染问题。我猜测表单输入没有“example”的 ID。 HTML 应如下所示:
<input type="text" id="example" onkeydown="limiter()" onkeyup="limiter()">
关于javascript - 使用 javascript 的 php 中的文本区域计数器和限制器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46580203/