我一直在网上寻找我的文本框的水印效果以获得一些帮助,并找到了一段代码如下:
使用Javascript:
function WaterMark(objtxt, event) {
var defaultText = "Username";
var defaultpwdText = "Password";
// Condition to check textbox length and event type
if (objtxt.id == "tb_Username" || objtxt.id == "tb_Password") {
if (objtxt.value.length == 0 & event.type == "blur") {
//if condition true then setting text color and default text in textbox
if (objtxt.id == "tb_Username") {
objtxt.style.color = "Gray";
objtxt.value = defaultText;
}
if (objtxt.id == "tb_Password") {
document.getElementById("<%= tb_TempPassword.ClientID %>").style.display = "block";
objtxt.style.display = "none";
}
}
}
// Condition to check textbox value and event type
if ((objtxt.value == defaultText || objtxt.value == defaultpwdText) & event.type == "focus") {
if (objtxt.id == "tb_Username") {
objtxt.style.color = "black";
objtxt.value = "";
}
if (objtxt.id == "tb_TempPassword") {
objtxt.style.display = "none";
document.getElementById("<%= tb_Password.ClientID %>").style.display = "";
document.getElementById("<%= tb_Password.ClientID %>").focus();
}
}
}
然后HTML :
<asp:TextBox runat="server" ID="tb_Username" Text="Username" onblur="WaterMark(this, event);" onfocus="WaterMark(this, event);" />
<asp:TextBox runat="server" ID="tb_TempPassword" Text="Password" onfocus="WaterMark(this, event);" ForeColor="Gray" />
<asp:TextBox runat="server" ID="tb_Password" TextMode="Password" text="Password" Style="display:none" onblur="WaterMark(this, event);"/>
但由于某些原因,当我运行我的代码时,用户名框工作正常,但密码框出现错误说:
0x800a138f - JavaScript runtime error: Unable to get property 'style' of undefined or null reference
我一直在网上寻找解决方案但没有任何工作? 这是因为我的Textbox链接到CSS样式表吗?
非常感谢任何帮助。
答案 0 :(得分:0)
试试这个..
var id=objtxt.id.toString();
document.getElementById(id).setAttribute("style", "color:Gray");
答案 1 :(得分:0)
请检查您是否获得了价值
是document.getElementById("<%= tb_Password.ClientID %>")
还是没有?
document.getElementById("<%= tb_Password.ClientID %>")
的值不应为空。
您还可以使用.hide()
和.show()
功能。
答案 2 :(得分:0)
在我的情况下,以下工作 -
我在关闭标记之前放置了脚本(因为我正在使用母版页)而不是写getelementbyid(menuid.UniqueID)
我写了getelementbyid(menuid.ClientID)
。
答案 3 :(得分:0)
我也面临这个问题,我自己解决了。该问题与面板有关,此面板可见属性为false。而不是将其设置为显示为无值。现在它的工作。