-1
有一個文本字段,我在其中設置默認文本「暱稱」作爲水印。如果用戶在文本字段中輸入文本「暱稱」,我想提醒他輸入的文本不能是暱稱。問題是我怎麼知道用戶輸入文本「暱稱」或它已經是一個水印。動作腳本3
有一個文本字段,我在其中設置默認文本「暱稱」作爲水印。如果用戶在文本字段中輸入文本「暱稱」,我想提醒他輸入的文本不能是暱稱。問題是我怎麼知道用戶輸入文本「暱稱」或它已經是一個水印。動作腳本3
如果您要在TextField中真正擁有「暱稱」,則必須檢查該字段是否已被編輯。例如:
private var wasTextFieldUserEdited:Boolean = false;
private function init() : void
{
var tf:TextField = new TextField();
tf.type = TextFieldType.INPUT;
tf.text = "nickname";
tf.addEventListener(Event.CHANGE, onChange);
tf.addEventListener(FocusEvent.FOCUS_OUT, onFocusOut);
// ...
}
private function onChange(e:Event) : void
{
wasTextFieldUserEdited = true;
}
private function onFocusOut(e:FocusEvent) : void
{
if (wasTextFieldUserEdited)
{
if (tf.text == "nickname")
{
trace("CAN'T USE THE WATERMARK!");
}
else
{
trace("NAME IS OK!");
}
// ...
}
}
也就是說,你應該考慮在INPUT TextField中根本沒有「暱稱」。相反,您可能會在INPUT之一(相同的x,y)下方直接放置另一個DYNAMIC TextField,並在INPUT TextField獲取FocusEvent.FOCUS_IN事件時將其隱藏。在這種情況下,您將啓動INPUT TextField爲空白。一旦用戶離開INPUT TextField,您可以再次顯示DYNAMIC TextField(帶有「暱稱」水印),如果用戶輸入了空白或使用了水印文本。
如果您使用「暱稱」的人遇到的問題僅僅是您無法確定是否輸入了任何新文本,則上述解決方案將允許您知道有人實際上有意鍵入了「暱稱」,並且所以可能允許你允許。
你能證明你到目前爲止嘗試過嗎? – xxbbcc