gpt4 book ai didi

javascript - FBJS 文本区域倒计时

转载 作者:行者123 更新时间:2023-11-28 02:59:25 26 4
gpt4 key购买 nike

我在 Facebook 应用程序中有一个 textarea 元素,我想在视觉上限制一定数量的字符。这是我从网上获得的代码片段:

  <script>

function textCounter(textarea, countdown, maxlimit)
{
textareaid = "ta1";
if (textareaid.value.length > maxlimit)
textareaid.value = textareaid.value.substring(0, maxlimit);
else
document.getElementById(countdown).value = '('+(maxlimit-textareaid.value.length)+' characters available)';
}

</script>

<form>
<textarea id="ta1" name="ta1" rows=5 cols=20
onKeyDown="textCounter('ta1','ta1count',100);"
onKeyUp="textCounter('ta1','ta1count',100);"
></textarea>
<br/>
<input id="ta1count" readonly type="text" size="30"/>
</form>

<script type="text/javascript">
textCounter('ta1','ta1count',100);
</script>

该脚本在 Facebook 框架之外运行良好,但我不明白 FBJS 的限制以及我需要更改哪些内容才能使该脚本运行。有人成功实现了类似的功能吗?

谢谢。

最佳答案

您发布的代码片段不起作用。

这是一个可以工作的版本(经过测试)

<html>
<head>
<title>Tarea test</title>
<script type="text/javascript">

function id (e) {
return document.getElementById(e);
}

window.onload = function () {

var oElement = id('message');
var iMaxChars = 300;

oElement.onblur = getHandler(iMaxChars);
oElement.onfocus = getHandler(iMaxChars);
oElement.onchange = getHandler(iMaxChars);
oElement.onkeyup = getHandler(iMaxChars);

updateTextArea('message', iMaxChars);

}

function getHandler(iMaxChars) {
return function () { updateTextArea('message', iMaxChars) };
}

function updateTextArea(sTextAreaID, iMessageMaxLength) {
var oTextAreaNode = id(sTextAreaID);
var oMessageCounter = id('messagecounter');

var sMessageValue = oTextAreaNode.value;
var iMessageLength = sMessageValue.length;

if (iMessageLength > iMessageMaxLength) {
oTextAreaNode.value = sMessageValue.substr(0, iMessageMaxLength);
iMessageLength=iMessageMaxLength;
}
oMessageCounter.innerHTML = ""+(iMessageMaxLength - iMessageLength);
}

</script>
</head>
<body>

<form action="#" method="post">
<fieldset>
<label for="message" id="messagelabel">Message <span id="messagecounter">300</span></label>
<textarea id="message" name="message" rows="10" cols="50"></textarea>
</fieldset>
</form>
</body>
</html>

在您的示例中,您尝试从字符串中获取值。 textareaid.valuetextareaid 不是此范围内的节点。

关于javascript - FBJS 文本区域倒计时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1527346/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com