【问题标题】:jQuery Placeholder & Master PagesjQuery 占位符和母版页
【发布时间】:2012-09-28 13:37:55
【问题描述】:

我在表单上使用了 jQuery Placeholder 插件,一切都在 asp.net 页面上运行良好;在我的母版页上,我拥有所有正确的 .ClientID 设置,因此我的 jQuery 验证有效。

我遇到的问题是初始化您使用的占位符脚本:

$('input, textarea').placeholder();

有没有办法让我在母版页上工作,我试着打电话

<%=txtFirstName.UniqueID %>.placeholder()

没有运气,有没有办法让它工作?

对不起,我犯了一个错误;占位符位于 TextBox 上。

非常感谢所有帮助。

马特

【问题讨论】:

    标签: jquery asp.net placeholder


    【解决方案1】:

    我只能想象您的ddlFirstHome.UniqueID 属性返回一个字符串,其中包含您要添加占位符的元素的ID。类似于FirstHome。所以你需要用 jQuery 选择它...

    $("#FirstHome").placeholder();
    

    添加你得到的 ASP.NET 占位符...

    $("#<%=ddlFirstHome.UniqueID %>").placeholder();
    

    EDIT 忘记上面的,你应该能够在所有输入和文本区域上不加选择地运行插件。大概在您的母版页中,您有一个 html 头标签,或者您将它包含在模板中的某个地方。只需添加...

    <script type="text/javascript">
      // Run on document ready
      $(function() {
        // target all inputs and textareas with the attribute placeholder
        // and enable cross-browser placeholders
        $("input[placeholder],textarea[placeholder]").placeholder();
      });
    </script>
    

    【讨论】:

    • 这似乎不起作用;我不认为 .placeholder() 通过为特定控件设置占位符来工作,我认为它只是循环考虑控件树。
    • 太棒了,效果很好。非常感谢你,伙计。我想我需要更深入地研究 placeholder.js 以了解它的实际工作原理!
    • 如果您没有将其包装在文档就绪函数中,那么输入和文本区域在您运行该函数时可能根本不存在。相反,它将运行脚本占位符函数,发现没有输入或文本区域并继续加载页面的其余部分。文档就绪函数告诉它在运行脚本的其余部分之前等到文档的其余部分加载完毕。
    【解决方案2】:

    修改后的代码:试试这个

    $("#<%=ddlFirstHome.UniqueID %>").placeholder()
    

    【讨论】:

      【解决方案3】:

      怎么样:

      $("#<%= dllFirstHome.UniqueID %>").placeholder();
      

      【讨论】:

        【解决方案4】:

        你应该使用:

        $('#<%=ddlFirstHome.UniqueID %>').placeholder();
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-10-17
          • 1970-01-01
          • 2011-11-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多