我有一个这样声明的html元素:
<div id="taskImage" runat="server">
<a href="javascript:void(0);" onclick="switchViews('div<%# Eval("proId") %>', 'one');">
<img id='imgdiv<%# Eval("proId") %>' alt="Click to show/hide tasks" border="0" src="..."/>
</a>
</div>
并且javascript函数switchViews被声明为post-html:
function switchViews(obj, row) {
var div = document.getElementById(obj);
var img = document.getElementById('img' + obj);
if (div.style.display == "none") {
div.style.display = "inline";
img.src = "../../images/icons/delete.png";
}
else {
div.style.display = "none";
img.src = "../../images/icons/add.png";
}
}
当我单击 html 元素时,我得到一个 JS 错误,说“对象已执行”,并且在 google chrome 脚本调试器中它说 switchViews 未定义。为什么它会认为 switchViews 是未定义的,我将如何修复它?作为记录,我已经使用在 html 之前声明的 javascript 以及在 href 属性中调用 switchViews 进行了尝试,但结果都是一样的。
编辑:清除一些东西,通过 post-html 和 pre-html 我的意思是在我写出 html 元素之前和之后。所以帖子就像
<div>
<!-- All my html stuff -->
<div>
<script type="text/javascript">
<!-- All my Javascript -->
</script>
而 pre 将与此相反