3

有(假设是)隐藏模式下的标签或文本框,从后面的代码将设置(文本值)为“用户”或“经理”。

<tr>当给定表格行( )上没有设置属性的点击事件时,我希望能够让 JavaScript 验证(隐藏)文本框/标签的值是什么runat="server"

如果客户端尝试单击该行(实际上该行具有一些文本框元素),那么如果客户端尝试编辑例如单击该行,则将采取类似 js 函数的操作alert("no edit allowed")

<tr id="TR_editTimein" onClick="javascript:CheckIfManager();">
    <td> <input type="text" id="timeIn" /></td>
</tr>
  1. 如果后面的代码识别出一个经理(来自Request.QueryString),它会将隐藏的 LBL 或 TXTBX 设置为“经理”

  2. JavaScriptonClick事件结束TR_editTimein将触发CheckIfManager() 函数

  3. CheckIfManager()将询问隐藏元素的值,如果值为“用户”,它将发出警报(“非经理没有编辑选项”)

现在,如果我将 aspTextBox 设置为Visible=false JavaScript 也看不到它,会发生什么。

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

4

1 回答 1

3

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

另一种方法是使用asp:HiddenField呈现为 的 an input type='hidden'

如果您有坚定不移的需要,请像这样使用asp:Labelasp:TextBox设置display:none;from 代码隐藏

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

这样,对象将在浏览器中呈现并隐藏用户,允许您使用 JavaScript 获取该对象。

于 2012-08-25T17:24:17.430 回答