JS代码:
function ShowOrHideControl(ControlClientID) {
var Control = document.getElementById(ControlClientID);
if (Control.style.display == "block") {
Control.style.display = "none";
}
else Control.style.display = "block";
}
html代码:
< input type="button" id=btn onclick="ShowOrHideControl('<%= dvLeft.ClientID %>')"/>dvLeft是一个div,有runat="server"标记这样写可以传的参数实际上是dvLeft的服务器控件ID,可以运行。
但是如果html代码换一下,把btn加一个runat="server"标记以后,传的参数就不是dvLeft的服务器控件ID了,
真搞不懂为什么。现在还是想将dvLeft的ClientID传过去,应该怎么写呢?javascriptserver传参ClientID
function ShowOrHideControl(ControlClientID) {
var Control = document.getElementById(ControlClientID);
if (Control.style.display == "block") {
Control.style.display = "none";
}
else Control.style.display = "block";
}
html代码:
< input type="button" id=btn onclick="ShowOrHideControl('<%= dvLeft.ClientID %>')"/>dvLeft是一个div,有runat="server"标记这样写可以传的参数实际上是dvLeft的服务器控件ID,可以运行。
但是如果html代码换一下,把btn加一个runat="server"标记以后,传的参数就不是dvLeft的服务器控件ID了,
真搞不懂为什么。现在还是想将dvLeft的ClientID传过去,应该怎么写呢?javascriptserver传参ClientID
不是啊,执行了JS里面的方法。现在关键是加了runat=server之后参数传的不正确了。
我是想用户点击文本框时弹出日历让用户选择,用户选择日期后又显示到文本框里面。
因此前台要把日历的ClientID传到JS里改变日历的display属性,后台日历选择之后再把日期交给文本框的value。感觉貌似很简单,就是个传参问题。
兄弟可有思路?
那么需要传递给前台ClientId才会被js正确引用(针对runat="server"的服务器控件)
<script>
document.getElementById("<%=btn.ClientID %>").onclick=function(e){
ShowOrHideControl('<%= dvLeft.ClientID %>')
};
</script>
2、这样你就可以直接用 div 的 id 了< input type="button" id=btn onclick="ShowOrHideControl('dvLeft')"/>http://msdn.microsoft.com/en-us/library/system.web.ui.clientidmode.aspx