将html控件ID从aspx文件传递给javascript

时间:2015-02-12 11:54:24

标签: javascript html asp.net

我很惊讶我还没有找到答案。我在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;
    }
}

3 个答案:

答案 0 :(得分:1)

<强>已更新

现在您已经上传了一些供我们使用的内容,我的源代码正常运行。

我还更改了按钮的ID以匹配您的开关案例。 源代码中的按钮id与任何内容都没有匹配,所以为了确保一切正常,我更改了它。

&#13;
&#13;
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;
&#13;
&#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