【问题标题】:Get text value of a watermark bound textbox from javascript从javascript获取水印绑定文本框的文本值
【发布时间】:2012-05-03 13:09:51
【问题描述】:

我想从 javascript 中获取文本框的文本值。文本框附有水印扩展器。因此,在从 javascript 中获取值时,如果文本框为空,那么我们也会得到那个水印文本。

我们的标记是这样的

<asp:TextBox ID="txtname" runat="server" MaxLength="30"></asp:TextBox>
<asp:TextBoxWatermarkExtender ID="wmname" runat="server" TargetControlID="txtname"
                                WatermarkText="Name" WatermarkCssClass="txt">
                            </asp:TextBoxWatermarkExtender>

JS:

$('input').blur(function() {            
        alert($(this).val());
    });

在 blur 事件中,如果我们没有输入任何值,那么它也会发出警报“Name”。

有什么方法可以得到文本框的准确文本,即不是来自 javacript 的水印文本?

【问题讨论】:

    标签: javascript jquery asp.net ajaxcontroltoolkit watermark


    【解决方案1】:

    wrapper behavior中,有一个属性_isWatermarked可以用来检查TextBox是否加水印。

    脚本:

    <script>
    function addValue() {
        if (!AjaxControlToolkit.TextBoxWrapper.get_Wrapper($get("TextBox1"))._isWatermarked) {
             $get("TextBox1").value = $get("TextBox1").value + ": Hello!";
         }
       }    
    </script>
    

    控件:

     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
     <cc1:TextBoxWatermarkExtender ID="TWE1" runat="server" Enabled="True" TargetControlID="TextBox1"
     WatermarkText="Type here:" WatermarkCssClass="watermarked" />
    

    【讨论】:

    • 但现在我将 AjaxToolKit 版本升级到 3.5.51116.0 .. 现在我收到脚本错误“AjaxControlToolKit”未定义。你知道原因吗?
    • 您是否在页面顶部添加了带有“CC1”或“asp”或“Ajaxcontroltoolkit”的声明性内容,并在您的打开表单标签下方添加了脚本管理器。
    • 当我使用类似“Sys.Extended.UI.TextBoxWrapper.get_Wrapper($get(this.id))._isWatermarked)”的东西时,它成功了......
    • 我找到了与您的问题相关的解决方案forums.asp.net/t/1069764.aspx/1
    • 我不明白..我上面提到的解决方案对我有用..你知道它的真正含义吗..?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-10
    • 2013-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    相关资源
    最近更新 更多