javascript - Uncaught ReferenceError : *function here* is not defined

标签 javascript html mediawiki referenceerror

Uncaught ReferenceError: limitText is not defined

仅从匹配结果的数量来看,我发现许多其他人也遇到过这个问题 - 尽管解决方案是根据具体情况运行的。

这基本上是一个函数,用于告诉您在键入时给定表单中还剩下多少个字符 - “您还剩下 XXX 个字符”。

Javascript:

"use strict"; // <-- This was a suggested remedy, did nothing.
function limitText(limitField, limitCount, limitNum) {
    if (limitField.value.length > limitNum) {
        limitField.value = limitField.value.substring(0, limitNum);
    } else {
        limitCount.value = limitNum - limitField.value.length;
    }
}

HTML(省略无关的PHP):

<textarea name="BlogPost" maxlength="5000" cols="100" rows="20" 
onKeyDown="limitText(this.form.BlogPost,this.form.countdown,5000);" 
      onKeyUp="limitText(this.form.BlogPost,this.form.countdown,5000);" required></textarea>
   <font size="1">(Maximum characters: 5000)<br>
   You have <input readonly type="text" name="countdown" size="3" value="5000">
   characters left.</font>

将我的浏览器置于“ Debug模式”实际上会导致脚本正常工作而不会出现错误 - 尽管我真的不能指望任何运行该应用程序的用户也会这样做。如果将脚本直接放入 <script></script> 文档中,它也可以工作。 ,尽管我正在使用的系统斥责这是“不好的做法”,因为您需要通过它的奇特模块系统加载脚本。 (媒体维基)

有什么想法吗?

最佳答案

使用 onKeyDownonKeyUp 进行第一次迭代(您错过了 form 元素)– http://jsfiddle.net/3ZAeP/

代码

(function (global) {
    global.limitText = limitText;
    function limitText(limitField, limitCount, limitNum) {
        if (limitField.value.length > limitNum) {
            limitField.value = limitField.value.substring(0, limitNum);
        } else {
            limitCount.value = limitNum - limitField.value.length;
        }
    }
}(window));

这很有趣,因为 limitText 应该是开箱即用的全局。

关于javascript - Uncaught ReferenceError : *function here* is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24562302/

相关文章:

javascript - ES6类构建

javascript - 单击时,使菜单在菜单上消失。 "show"有效,但 "hide"无效

javascript - angularjs 1.3 javascript 动画适用于 ng-repeat 但不适用于 ng-if

python - HTML 没有应用 CSS

javascript - 通过 AJAX 加载子菜单项的 HTML/javascript 上下文菜单

php - 使用 mediawiki 上传图片时出错(在 Directadmin 上)

javascript - 当容器具有绝对位置时,jsPlumb 保留子​​ div 之间的联系

javascript window.open 并添加参数

复制所有页面 - MediaWiki

installation - 通过 Psql 在 Firefox 中访问 Postgres