【问题标题】:Adobe LiveCycle JavaScript if-else function?Adobe LiveCycle JavaScript if-else 函数?
【发布时间】:2014-12-22 21:59:29
【问题描述】:

我正在尝试编写非常简单的代码,以使文本字段具有默认提示,当鼠标悬停时,它们会消失,而当鼠标离开时,它们会重新出现。我知道我可以做到这一点

this.rawValue = "  "
this.rawValue = "Address"

“值”部分设置为默认“地址”。我的问题是,当我输入某些内容时,如果我不小心再次将鼠标悬停在该部分上,它会恢复为默认值。

我错过了什么?如果没有输入新文本,我需要它只返回默认值。

【问题讨论】:

  • 在鼠标悬停之前,将输入的当前值保存在 tmp 变量中并在 mouseleave 时将其重置(注意:奇怪的 UI)
  • 我不确定如何将值保存在 tmp 变量中,有什么帮助吗?
  • 给我你的代码的codepen,我会告诉你(我需要你的其余代码,因为有几十种方法可以做到这一点,有或没有jQuery ...)
  • form1.#subform[0].meetinghouseNameandAddress[0]::mouseExit -(Javascript,客户端)
  • 我想就是这样。我想我可能有点不知所措....我们想要的只是文本具有默认的预填充值,然后当您键入它时保持这种状态,或者如果您不键入,它会重置为默认值。 ;/

标签: javascript scripting livecycle


【解决方案1】:

只需更改它,以便在用户输入任何内容时它不会编辑文本。

在鼠标悬停事件中:

//if the text is the default text, hide it on mouseover.
if (this.rawValue == "Address") this.rawValue = "";

在 mouseExit 事件中:

//if the text is empty, replace it with the default when the user exits the field.
if (this.rawValue == "" || this.rawValue == null) this.rawValue = "Address";

我会考虑把它放在普通的进入/退出事件中,而不是鼠标特定的事件中,因为有些用户可能会使用 tab 键来导航表单。

另外,不要使用空格来表示空,只需使用“”。

【讨论】:

  • 谢谢。因此,当我尝试将其放入时,当您单击活动框时,默认值会消失,如果我不输入,则不会返回任何内容,如果我在框中重新单击时确实输入了,它会将其重置为“”:/
  • 好的,所以我得到了它,除非我不输入任何内容,它不会返回到默认值。 ://
  • 好吧,代码有问题 - extra ) 不属于,并且还必须添加空检查。我认为这应该可行。
  • 如果这为您解决了问题,请您为答案投票吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多