【问题标题】:Injecting javaScript into web page to disable a texbox将javascript注入网页以禁用文本框
【发布时间】:2014-11-21 12:43:33
【问题描述】:

在我的 aspx 页面上,我有一个 asp 按钮,当我单击此按钮时,我想通过将其注入网页来使用 javascript 禁用此文本框。

$(document).ready(function () {
    $('#title').click(function () {
        $('#title').prop("disabled", true);
    });
});

到目前为止,我已经有了这个,但我不想将它应用到我的页面,我想将它注入到网页中

<div id="fieldone">
<asp:TextBox ID="title" runat="server"></asp:TextBox>
</div>

【问题讨论】:

  • 请同时添加 html 部分,以便我们为您提供解决方案!
  • 如果您在 ASP.net 中工作,还需要添加 use $('#').click

标签: javascript c# jquery html asp.net


【解决方案1】:

因为这是在 ASP 上下文中

$(document).ready(function () {
    $('#<%=yourbtn.ClientID%>').click(function () {
        $('#<%=title.ClientID%>').attr("disabled", "disabled");
    });
});

更新

 $(document).ready(function () {
        $('#<%=yourbtn.ClientID%>','#<%=title.ClientID%>').click(function () {
            $('#<%=title.ClientID%>').attr("disabled", "disabled");
        });
    });

【讨论】:

  • 我希望能够单击文本框本身,并且当我这样做时,我希望禁用该文本框
【解决方案2】:

如果#title 项目已被禁用,您将永远不会触发点击事件。您可以使用父项,也可以将标题放入 div 并绑定 #myDiv.click 事件。

$(document).ready(function () {
    $('#myDiv').click(function () {
        $('#title').removeAttr("disable");
    });
});

另外,正如 Sjoerd2228888 指出的那样,如果要禁用元素,则需要将属性设置为 disabled,而不是删除它。

【讨论】:

    【解决方案3】:

    没有你的 html 我只能猜测解决方案。但是如果你想禁用一个按钮,你不应该像你一样删除一个属性,而是设置属性

    $("#title").prop("disabled", true)
    

    【讨论】:

    • 谢谢我已经这样做了,但我想将它注入网页
    • 您能否更详细地描述您想要做什么。
    猜你喜欢
    • 1970-01-01
    • 2014-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-10
    • 2011-05-15
    相关资源
    最近更新 更多