javascript - 使用 Javascript 使按钮不可见或可见

标签 javascript asp.net

我需要在 ASP.Net 中使用文本框的 OnFocus 事件。

 <asp:TextBox ID="TBAccountNum" runat="server" CssClass="textbox" Height="12px" Width="100px" Font-Size="Small" AutoCompleteType="None"  Wrap="False" OnFocus="Validator()" OnTextChanged="TBAccountNum_OnLeave" AutoPostBack="true"></asp:TextBox>

唯一的方法是使用 Javascript,但我对此一无所知。我在 SO 上发现了这么一小段代码,看起来应该可以工作:

<asp:Content runat="server" ID="FeaturedContent" ContentPlaceHolderID="FeaturedContent">

<script type="text/javascript">

    function Validator()
    {
        document.getElementsByName("btnValidateWork").style.visibility = "visible"; 
        document.getElementsByName("btnSubmitWork").style.visibility = "hidden"
    }

但是,当我运行它时,出现以下错误:

0x800a138f - Microsoft JScript runtime error: Unable to set value of the property 'visibility': object is null or undefined

你知道我做错了什么吗(除了尝试编写我一无所知的代码......:oP)?

所有相关代码现已发布。如果重要的话,我正在 Intranet 上使用 IE9(由公司强制要求,因此不能更改)。

最佳答案

document.getElementsByName("btnValidateWork") 返回一个 htmlcollection。您必须迭代它,并为每个项目(节点)添加正确的 css。

看看这个:Using document.getElementsByName() isn't working?

编辑:

要使用 getElementsByName,您的元素必须具有 name 属性。示例:

<button name="btnValidateWork">my button?</button>
document.getElementsByName("btnValidateWork")[0].style.visibility = "hidden";

fiddle :http://jsfiddle.net/chrisbenseler/h3dwwud6/

我认为更好的方法是使用 getElementsByClassName 并向其添加一些类,然后执行类似 document.getElementsByClassName("hidden") 的操作

关于javascript - 使用 Javascript 使按钮不可见或可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25794260/

相关文章:

c# - Entity Framework 4 升级问题,不允许同时按名称和属性加载

javascript - 生成集合的所有可能的分组/子集组合,用完每个项目

asp.net - 如何自定义 ASP.NET Web API AuthorizeAttribute 以满足异常需求

javascript - 通过单击 Jquery 上的按钮获取内容 id(最大)

javascript - 在 Node.js 中的函数和 JavaScript 文件之间隐式传递上下文

asp.net - Umbraco 有什么好的电子商务扩展/插件吗?

c# - ASP.NET AJAX 工具包组合框 : avoid the need to click ENTER twice to postback

asp.net - Bower 与 Visual Studio 发布

javascript - 处理事件后将颜色放入元素中

javascript - 我的 javascript 闭包写得正确吗?