javascript - 使用 javascript 的 php 中的文本区域计数器和限制器

标签 javascript php text counter

我想创建文本区域字符计数器和限制器。我有以下代码,但由于某种原因它不起作用。

<?=$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/

相关文章:

windows - 在 Windows 上呈现类似 Mac 的文本?

javascript - 根据菜单项的数量更改菜单项的宽度

javascript - 使用 css javascript 添加幻灯片

javascript - 重写原型(prototype)上内置方法的类型

php - jquery ui 创建了很多不需要的跨度

php - 如何从 PHP 中运行 .cmd 文件并显示结果

javascript - NodeJS 获取 promise 回调挂起

php - 意外的语法错误

Java AES 加密 : Given final block not properly padded

java - 使用 OpenCSV 写入列而不是行