2017-10-13 36 views
0

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

我可以使用onkeypress事件(服务器)并在按钮上执行部分刷新但是我注意到当用户在字段中写入时出现局部刷新微调器。我想避免这一点。

我有什么选择?

+0

Rob的权利,永远不要考虑SSJS事件。出于性能方面的考虑,使用CSJS和Dojo/jQuery –

回答

2

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

如果您可以使用keyup事件而不是按键,这可能会更好。

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; 
+0

Hello Rob,你的代码能做到这一点。看起来我必须一直走到csjs以避免部分刷新对话框。而不是设置可见性样式属性我已决定使用jquery并通过show()和hide()设置显示属性,因为按钮的空间将保留在UI中,因此可以看到空白空间。谢谢你帮助我! – Malin