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

Passing html control id to javascript from aspx file

本文关键字:javascript 文件 aspx html 控件 id      更新时间:2023-09-26

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

您还可以使用asp:button并将Js函数添加到该元素中,如文档中所述。检查那个链接,这是代码。

<%@ 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>

更新

既然你已经上传了一些东西供我们使用,我就可以使用你的源代码了。

我还将按钮的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;
    }
}  
<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>

我希望这能有所帮助。快乐编码!

在您的代码中,按钮被禁用。然后click event将不工作

尝试以下

它应该是工作

html

<input type="button" id="Hour"  class="butshape" onclick=" middlePress(this.id)" value="button">

javascript

function  middlePress(id)
{
alert(id);
}

你可以在这里查看这是小提琴中的工作示例DEMO