2011-02-14 38 views
0

我想在我的输入表单上使用WaterMark作为我的一些文本框。问题是我有一个自动回发下拉列表,这会导致我的文本框水印文本在回发时闪烁。jquery WaterMark文本框在回发上闪烁

下面是该方案的样本版本:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script src="scripts/jquery-1.4.2.min.js" type="text/javascript"></script> 
    <script src="scripts/jquery.watermark.min.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     $(function() { 
      $("#txtEmail").watermark("Email Address"); 
     }); 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox> 
     <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtEmail" ErrorMessage="Email Invalid"></asp:RequiredFieldValidator> 
     <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true"> 
      <asp:ListItem Text="One" /> 
      <asp:ListItem Text="Two" /> 
      <asp:ListItem Text="Three" /> 
     </asp:DropDownList> 
     <asp:Button ID="Button1" runat="server" Text="Button" /> 
    </div> 
    </form> 
</body> 

这样做的原因行为是因为jQuery水印是客户端。

我找到的一种解决方法是here。与此相关的问题是我必须使用AjaxControlToolkit的WaterMarkTextBoxExtender,如果可能的话,我想避免它。

编辑:我错了。我指出的上述解决方法不起作用。

所以我寻找的是一个解决jquery水印和回发的工作。

回答

0

看起来我的选择是不是使用dropdownlist的自动回发,我将不得不使用jQuery在下拉更改上进行ajax调用,并使用从ajax调用返回的数据更新页面上的控件。

我试过这个样本,我的WaterMark不闪烁。我希望这是它,除非我遇到任何副作用。

如果任何人有其他意见/建议,我打算暂时搁置这个问题。