我有一个多行asp.textbox输入控件。

我不知道我的问题是否与ASP.NET,Multiline控件或其他问题有关,但是onblur和onfocus无法正常工作。

<script type="text/javascript">
  var defaultMsg = 'Write your message here or or call my voice at (xxx) xxx-xxxx.';
  var controlMsg = doc.createElement("input");
  controlMsg.id = "txtMessage";
  controlMsg.type = "text";
  controlMsg.value = defaultMsg;
  controlMsg.onfocus=function jpFocus() { if (this.value == defaultMsg) this.value = ''; }
  controlMsg.onblur=function jpBlur() { if (this.value == '') this.value = defaultMsg; }
</script>


然后....

<asp:TextBox ID="txtMessage" Columns="30" Rows="6" runat="Server" TextMode="MultiLine" />


没有人看到为什么这不起作用的原因吗?

最佳答案

实际上,您正在创建html元素,并向其附加了一个事件。
此外,ASP.NET控件不使用服务器端ID。
这是您应该做的:

var controlMsg = document.getElementById('<%= txtMessage.ClientID %>');
controlMsg.onfocus = // Some Code ...
controlMsg.onblur = // Some Code ...

关于javascript - 用于TextMode =“MultiLine”的Onblur,Onfocus javascript无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11731831/

10-09 19:03