我有一个 ASP.NET Webforms 页面。在代码隐藏中,使用以下代码将onclick
属性添加到标签控件和文本框控件 -
lblName.Attributes.Add("onClick", "javascript:location.href='NameForm.aspx?id=" & CStr(fnRetRow("name_id")) & "';")
txtName.Attributes.Add("onClick", "javascript:location.href='NameForm.aspx?id=" & CStr(fnRetRow("name_id")) & "';")
生成以下 HTML 元素。(注意,这些最终位于<table><tr>
页面上...元素的几个嵌套层内。) -
<td class="formlabel">
<span id="lblName" class="formlabel" onclick="javascript:location.href='NameForm.aspx?id=123';"></span>
</td>
<td class="forminputtxt">
<input id="txtName" class="forminputtxt" onclick="javascript:location.href='NameForm.aspx?id=123';">
</td>
问题:如何onclick
在页面加载(或加载元素)后在 aspx 页面中使用简单的 JavaScript 函数来禁用这些属性?
我尝试了以下选项但没有成功 -
<script language = "javascript">
window.onload = function() {
document.getElementById('lblName').onclick = ''; // option 1 for label
document.getElementById('txtName').onclick = ''; // option 1 for textbox
document.getElementById('lblName').removeAttribute("onclick"); //option 2 for label
document.getElementById('txtName').removeAttribute("onclick"); // option 2 for textbox
}
</script>
选项 2 无效。文本框的选项 1 无效。
标签的选项 1 确实以某种方式禁用了链接;但是,内联 javascript 仍然显示在页面的最终 HTML 中。这是可以接受的,但并不理想。
onclick
页面加载后禁用(或理想情况下删除)这两个属性的简单方法是什么?
注意:JQuery 在页面中不可用。