Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在代码隐藏中获取HTML输入复选框的选中值_Javascript_C#_Html_Asp.net - Fatal编程技术网

Javascript 如何在代码隐藏中获取HTML输入复选框的选中值

Javascript 如何在代码隐藏中获取HTML输入复选框的选中值,javascript,c#,html,asp.net,Javascript,C#,Html,Asp.net,我在modalpopup中使用了一个html输入复选框控件,该控件在onclick事件中运行javascript函数。现在我的挑战是从代码隐藏中获取该控件的checked属性的值,以执行一些行为操作。当我向它添加runat=“server”属性并编写chkIsPrivate.Attributes.Add(“onclick”,“toggleCheckbox()”)时在页面加载中,javascript函数不会启动 我在网上搜索了一个解决方案,但没有找到。我希望有人能帮我 请注意,如果没有runat=

我在modalpopup中使用了一个html输入复选框控件,该控件在
onclick
事件中运行javascript函数。现在我的挑战是从代码隐藏中获取该控件的checked属性的值,以执行一些行为操作。当我向它添加
runat=“server”
属性并编写
chkIsPrivate.Attributes.Add(“onclick”,“toggleCheckbox()”)时
在页面加载中,javascript函数不会启动

我在网上搜索了一个解决方案,但没有找到。我希望有人能帮我

请注意,如果没有
runat=“server”
和pageu\u load中的代码行,则单击checkbox控件时会触发javascript函数。但是我需要在代码隐藏中获取checked属性的值

HTML:


通常,如果要在代码隐藏中检索复选框的值,则需要使用ASP.Net复选框服务器控件,除非您有不使用它的有效理由

ASP.Net服务器控件就是为了达到这种目的

选中/取消选中复选框时自动回发

//代码隐藏
受保护的void AutoPostbackCheckbox_CheckedChanged(对象发送方,事件参数e)
{
bool value=AutoPostbackCheckbox.Checked;
}
按按钮回发

//代码隐藏
受保护的无效提交按钮单击(对象发送者,事件参数e)
{
布尔值=复选框2。选中;
}
回到原来的问题 我在更新的代码中发现了一些问题。您可以使用服务器控件


看5谢谢你们所有人出来帮助我。但我找到了一个办法让它工作

我所做的就是

  • 添加一个hiddenfield:
    asp:hiddenfield ID=“hiddenfield”runat=“server”/>
  • 创建一个属性来检索和设置hiddenfield的值
  • 并将其添加到我的javascript函数中,以将
    'true'
    'false'
    添加到隐藏字段中,方法是:
    document.getElementById(“”).value='true'如果选中html输入复选框
    
    这很好,因为我可以从代码隐藏中访问hiddenfield的值,并且当选中复选框时javascript可以工作。

    如果使用得当,谷歌是你最好的朋友。。请显示你的部分更多的努力,并做一个简单的谷歌搜索…来吧现在。。。!相信我,我告诉你,过去3个小时我一直在谷歌上搜索这个问题,但没有找到解决问题的方法。真的很尴尬。正如你在我的帖子中看到的,我在那里做了一个试验,但它只是让我的javascript函数无法工作。还尝试了
    Request.Form[“checkbox1”]
    ,但也没有成功。我没有看到任何相关代码。。所以@KaceyEzerioha抱歉,我不同意你在我的帖子中所说的
    ,请阅读/回顾如何提问stackoverflow。你在使用母版页吗?当您设置runat=server时,输入名称和id会发生变化。当您在javascript中调用输入时,可能无法识别id。请参考此链接以代码形式读取输入值。您需要将runat=“server”属性。谢谢@Win,但我不能使用checkbox服务器控件,因为我正在使用javascript对客户端进行操作。这就是为什么我不能使用服务器控件的原因。谢谢你的帮助@Win,但是javascript在完全按照你推荐的方式操作之后就不能工作了。还有其他想法吗?你看到脚本错误了吗?你可以下载我的测试代码。您希望创建一个没有母版页的新aspx页并对其进行调试。
    
    <tr>
          <td align="right">Private Campaign:</td>
          <td align="left">
                 <input id="chkIsPrivate" type="checkbox" onclick="toggleCheckbox()" />
          </td>
    </tr>
    
    <tr id="password_tr" style="display: none">
          <td align="right">Password:</td>
          <td align="left">
               <asp:TextBox  ID="txtPassword" runat="server" TextMode="Password" Width="150px"></asp:TextBox><br />
          </td>
    </tr>
    
    <tr id="confirmPassword_tr" style="display: none">
          <td align="right">Confirm Password:</td>
          <td align="left">
            <asp:TextBox ID="txtConfirmPassword" runat="server" TextMode="Password" Width="150px"></asp:TextBox>
          </td>
    </tr>
    
    function toggleCheckbox() {
                    var checkBox = document.getElementById("chkIsPrivate");
                    var pwd = document.getElementById("password_tr");
                    var confirmPwd = document.getElementById("confirmPassword_tr");
                    var hiddenVal = document.getElementById("privateHiddenInput");
                    if (checkBox.checked) {
                        pwd.style.display = "table-row";
                        confirmPwd.style.display = "table-row"; 
    
                    }
                    else {
                        pwd.style.display = "none";
                        confirmPwd.style.display = "none";
                    }
                }
    
    <asp:CheckBox ID="AutoPostbackCheckbox" runat="server" AutoPostBack="True" 
        OnCheckedChanged="AutoPostbackCheckbox_CheckedChanged" />
    
    // Code Behind
    protected void AutoPostbackCheckbox_CheckedChanged(object sender, EventArgs e)
    {
        bool value = AutoPostbackCheckbox.Checked;
    }
    
    <asp:CheckBox ID="Checkbox2" runat="server" />
    <asp:Button ID="SubmitButton" OnClick="SubmitButton_Click" 
        runat="server" Text="Submit" />
    
    // Code Behind
    protected void SubmitButton_Click(object sender, EventArgs e)
    {
        bool value = Checkbox2.Checked;
    }
    
    <asp:CheckBox ID="IsPrivateCheckBox" runat="server" 
       onclick="toggleCheckbox(this)" /> <--- Pass this argument
    
    <script type="text/javascript">
        function toggleCheckbox(checkBox) { <--- add checkBox parameter
            //var checkBox = document.getElementById("chkIsPrivate"); <-- Do not need it
            var pwd = document.getElementById("password_tr");
            var confirmPwd = document.getElementById("confirmPassword_tr");
            if (checkBox.checked) {
                pwd.style.display = "block"; <--- Make sure this is block
                confirmPwd.style.display = "block"; <--- Make sure this is block
            }
            else {
                pwd.style.display = "none";
                confirmPwd.style.display = "none";
            }
        }
    </script>