传递Check on Button onClick的ID

时间:2017-11-07 09:32:47

标签: javascript c# jquery html asp.net

如何将Check的ID,onClick Checkbox传递给外部javascript文件中的函数。主要目的是点击复选框时点击隐藏按钮。

这是代码:ASCX Page

 <asp:CheckBox ID="chkPriority" runat="server" onclick="submitit('btn')"/>
 <asp:Label runat="server" CssClass="label" ID="lblPriority" Text="Priority"></asp:Label>
 <asp:Button ID="btn" runat="server" OnClick="btn_Click" Height="0" Width="0" CssClass="hidden" />

外部JS档案:

function submitit(id) {
    document.getElementById(id).click();
}

2 个答案:

答案 0 :(得分:0)

正如你在评论中提到的那样:

  

我收到错误说,document.getelementById为null或为空

这种情况正在发生,因为在HTML网页上呈现时,asp:Button的ID与btn不同。

使用ASCX(Web用户控制文件)时,ASP会将控件的ID呈现为:ctl00$btnctl00$ContentPlaceHolder1$btn

选项1 :传递btn确切的客户ID:

<asp:CheckBox ID="chkPriority" runat="server" onclick="submitit('<%= btn.ClientID %>')"/>

选项2 :使用jQuery,它知道如何处理呈现的ASP控件的ID:

function submitit(id) {
    $('#' + id).click();
}

答案 1 :(得分:0)

您忘记在onclick ()函数

中添加括号btn_Click

function submitit(id) {
    document.getElementById(id).click()
}
function btn_Click() {
    console.log("Clicked!")
}
<input type="checkbox" id="chkPriority" runat="server" onclick="submitit('btn')"/>
<button id="btn" runat="server" onclick="btn_Click()" Height="0" Width="0" style="display:none;" />