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