按钮点击javascript

时间:2012-10-17 09:30:12

标签: javascript asp.net

我的页面中有一个复选框

 <asp:CheckBox onclick="calc();" ID="chkfilteritem" runat="server" Text="Yes" />

和一个按钮

 <asp:Button ID="btnclick" runat="server" Text="." onclick="btnclick_Click" />

我也有一个javascript

 <script type="text/javascript">
 function calc() {
    document.getElementById('<%=btnclick %>').click();
   }
 </script>

我需要的是当我选中或取消选中我需要使用javascript触发按钮上的点击事件的复选框时。但是它无法使用我当前的javascript。

5 个答案:

答案 0 :(得分:1)

如果您正在使用jQuery,请执行以下操作:

<asp:CheckBox CssClass="checkFilter" ID="chkfilteritem" runat="server" Text="Yes" />

<asp:Button CssClass="buttonClick" ID="btnclick" runat="server" Text="." onclick="btnclick_Click" />

<script type="text/javascript">
 $('.checkFilter').on('change', function() {
     if(this.checked) {
         $('.buttonClick').click();
     }
 }
</script>

我说你可以使用ClientIDMode="Static",但我不确定你是否在可重复使用的控件中使用你的代码,这会搞砸。

你也可以走这条路(可读性差得多,但它会起作用):

<script type="text/javascript">
 $('#<%=chkfilteritem.ClientID %>').on('change', function() {
     if(this.checked) {
         $('#<%=btnclick.ClientID %>').click();
     }
 }
</script>

答案 1 :(得分:0)

如果您使用母版页

,请尝试此操作
 document.getElementById('<%= btnclick.ClientID %>').click();

答案 2 :(得分:0)

如果使用.NET 4 +

,您可以更改ID的输出
<asp:CheckBox onclick="calc();" ID="chkfilteritem" runat="server" Text="Yes" />

<asp:Button ID="btnclick" runat="server" Text="." OnClick="btnclick_Click" ClientIDMode="Static" />

<script type="text/javascript">
  function calc() {
    document.getElementById('<%=btnclick.ClientID %>').click();
  }
</script>

现在应该触发点击事件。

该复选框具有HTML onclick属性,而该按钮具有.NET OnClick事件。

另一种方法是从复选框中删除HTML onlclick,将ClientIDMode =“Static”添加到复选框并将脚本更改为如下。

<script type="text/javascript">
  $(document).ready(function() {

    $("#chkfilteritem").click(function() {
      calc();
    });

  });

  function calc() {
    document.getElementById('<%=btnclick.ClientID %>').click();
  }
</script>

答案 3 :(得分:0)

您可以使用复选框的OnCheckedChanged事件,然后检查。

答案 4 :(得分:-1)

未经测试,但试试这个:

<asp:CheckBox onclick="javascript:calc();" ID="chkfilteritem" runat="server" Text="Yes" />