【问题标题】:Clear Asp.Net TextBox Control on OnFocus with Jquery or Javascript使用 Jquery 或 Javascript 清除 OnFocus 上的 Asp.Net TextBox 控件
【发布时间】:2015-04-27 21:28:38
【问题描述】:

我一直在搜索互联网和 stackoverflow,但还没有找到可行的解决方案。当 onfocus 发生时,我需要从文本框中删除默认文本。我知道它正在聚焦,因为我的文本颜色类也设置在那里并且颜色正在改变。这是我的代码和我尝试过的。

平均售价:

<asp:TextBox ID="txtAddEditDel" runat="server" CssClass="txtAddEditDel" ></asp:TextBox>

默认文本是在 Page_Load 上填充的一些随机指令。

jquery:

$(".txtAddEditDel").focus(function () {
             var selectedRoleText = $(this).find('option:selected').text();
             var selectedRoleId = $(this).find('option:selected').val();
             var selectedRoleIndex = $(this).find('option:selected').index();

            //enable add button
            enableDisableLinkButtons(true, true, true);

            if (selectedRoleText == 'Create, Edit, or Delete a Role Name.') {
                $(".txtAddEditDel:text").val('');
            }
            $(".txtAddEditDel").removeClass('placeholderText');

        });

removeClass 函数被命中,但我的值没有被清除。 这是我尝试过的:

 $(".txtAddEditDel").val('');
 $(".txtAddEditDel").val("");
 $(".txtAddEditDel").text("");
 $(".txtAddEditDel").text == '';
 $(".txtAddEditDel").text == "";
 $(this).val('');
 document.getElementbyId('<%= txtAddEditDel.ClientID %'>.value = "";

【问题讨论】:

  • 为什么不使用占位符属性作为默认文本?它将被自动删除。 IE。 jsfiddle.net/qdthqkj1

标签: javascript c# jquery asp.net web-controls


【解决方案1】:

$(".txtAddEditDel").val('');应该工作,假设它到达那里。你有没有放一些调试信息来检查 if 子句是否为真?检查选项的值而不是文本可能是一个更好的主意,因为文本很容易拼写错误或更改,根据我的经验,在这种情况下默认值为 '' 或 0

【讨论】:

  • 就是这样...我做了调试器和一些警报,它只需要 if ($(".txtAddEditDel").val() == '创建、编辑或删除角色名称。 ') { $(".txtAddEditDel").val(''); }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多