2017-10-13 33 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