根据文本区域字段的长度计算按钮的可见 属性

compute Visible property for a button, based upon length of a textarea field

我想根据文本区域字段(多行编辑框)的内容计算按钮的可见性。它应该至少包含一些文本。

我可以使用 onkeypress 事件(服务器)并在按钮上执行部分刷新,但我注意到当用户在该字段中书写时,部分刷新微调器出现了。我想避免这种情况。

我有什么选择?

您最好为该事件编写客户端脚本。当文本区域中的字符超过 200 个时,此脚本应显示按钮。您最初需要将按钮的样式可见性设置为隐藏。如果表单可以多次编辑,则需要将其编写为一个函数,并在页面加载和按键事件中调用它。

如果你可以使用 keyup 事件而不是 keypress,这可能会更好。

var textareaID = '#{id:textareaID}';
var buttonID = '#{id:buttonID}';
var textareaValue = document.getElementById(textareaID).value;
var visibility;

if (textareaValue.length > 200) {
    visibility = 'visible';
}
else 
{
    visibility = 'hidden';
}
document.getElementById(buttonID).style.visibility=visibility;