我很惊讶我还没有找到答案。我在ASPX文件中使用标准的html按钮(而不是asp:Button)。从onclick属性调用javascript函数时,如果javascript调用包含变量,则失败。例如,onclick="func1()"
将完美运行,但是,onclick="func2(this.id)"
并非如此。我知道this.id
不应该在asp:Button中工作,但它应该在标准的html按钮中失败吗?
编辑:
HTML:
<button id="Hour" type="button" class="butshape" onclick="return middlePress(this.id)" disabled></button>
使用Javascript:
function middlePress(clicked_id){
document.getElementById("lengthtext").innerHTML=clicked_id;
clearEnd();
switch(clicked_id){
case "Day":
document.getElementById("11").innerHTML=Date();
document.getElementById("12").innerHTML="Previous 24";
document.getElementById("12").disabled=false;
break;
case "Week":
document.getElementById("11").innerHTML=Date();
document.getElementById("12").innerHTML="Previous 7 Days";
document.getElementById("12").disabled=false;
break;
case "Month":
document.getElementById("11").innerHTML=Date();
document.getElementById("12").innerHTML="Previous 30 Days";
document.getElementById("12").disabled=false;
break;
}
}
答案 0 :(得分:1)
<强>已更新强>
现在您已经上传了一些供我们使用的内容,我的源代码正常运行。
我还更改了按钮的ID
以匹配您的开关案例。
源代码中的按钮id
与任何内容都没有匹配,所以为了确保一切正常,我更改了它。
function middlePress(clicked_id){
document.getElementById("lengthtext").innerHTML=clicked_id;
switch(clicked_id){
case "Day":
document.getElementById("11").innerHTML=Date();
document.getElementById("12").innerHTML="Previous 24";
document.getElementById("12").disabled=false;
break;
case "Week":
document.getElementById("11").innerHTML=Date();
document.getElementById("12").innerHTML="Previous 7 Days";
document.getElementById("12").disabled=false;
break;
case "Month":
document.getElementById("11").innerHTML=Date();
document.getElementById("12").innerHTML="Previous 30 Days";
document.getElementById("12").disabled=false;
break;
}
}
&#13;
<button id="Day" type="button" class="butshape" onclick="return middlePress(this.id)" >Click me</button>
<div id="lengthtext"></div>
<div id="11"></div>
<button id="12" disabled>Button 12</button>
&#13;
我希望这会有所帮助。快乐的编码!
答案 1 :(得分:1)
您也可以使用asp:button
并将Js函数添加到该元素,如documentation中所述。检查该链接,这是代码。
<%@ Page Language="VB" %>
<script runat="server">
Sub Button1_Click(ByVal sender As Object, _
ByVal e As System.EventArgs)
Label1.Text = "Server click handler called."
End Sub
</script>
<body>
<form id="form1" runat="server">
<asp:Button ID="Button1" Runat="server"
OnClick="Button1_Click"
OnClientClick="return confirm('Ready to submit.');"
Text="Test Client Click" />
<br />
<asp:Label ID="Label1" Runat="server" text="" />
</form>
</body>
</html>
答案 2 :(得分:0)
在您的代码中,按钮被禁用然后click event
将无效
尝试以下
应该是工作
<强> HTML 强>
<input type="button" id="Hour" class="butshape" onclick=" middlePress(this.id)" value="button">
<强>的javascript 强>
function middlePress(id)
{
alert(id);
}
你可以在这里查看小提琴中的工作示例 的 DEMO 强>