编程语言
首页 > 编程语言> > JavaScript&C#-如何检查隐藏元素的值

JavaScript&C#-如何检查隐藏元素的值

作者:互联网

在隐藏模式下有一个标签或文本框(应该是),该标签或文本框将从后面的代码中设置(文本值)为“ user”或“ manager”.

我希望当给定的表行(< tr>)上没有设置runat =“ server”属性的click事件时,使JavaScript验证(隐藏的)文本框/标签的值是什么.

如果客户尝试单击该行(实际上该行有一些文本框元素)
因此,如果客户尝试编辑例如点击行
然后将采取js函数(例如alert(“ no edit edit”))采取的措施.

<tr id="TR_editTimein" onClick="javascript:CheckIfManager();">
    <td> <input type="text" id="timeIn" /></td>
</tr>

>如果后面的代码识别出管理器(来自Request.QueryString),则会将隐藏的LBL或TXTBX设置为值“ manager”
> TR_editTimein上的JavaScript onClick事件将触发CheckIfManager()
功能
> CheckIfManager()将询问隐藏元素的值,如果值是“ user”,它将发出警报(“非Managers的无编辑选项”)

现在,发生的事情是如果我将说aspTextBox设置为Visible = false
JavaScript也看不到它.

验证客户是用户还是管理员的正确方法是什么?

解决方法:

如果设置Visible = False,则ASP.NET控件甚至不会在浏览器(客户端-side)中呈现.这意味着DOM将没有该对象,因此您无法使用getElementById获取该对象.

另一种方法是使用一个asp:HiddenField,将其渲染为输入type =’hidden’.

如果您坚决不屈,需要使用asp:Label或asp:TextBox设置display:none;.从像这样的后台代码

myLabelID.Attributes.Add("style","display:none");

这样,对象将在浏览器中呈现并向用户隐藏,从而允许您使用JavaScript来获取对象.

标签:code-behind,asp-net,javascript
来源: https://codeday.me/bug/20191127/2076497.html