从html、javascript和aspx发送电子邮件时不转换复选框

从html、javascript和aspx发送电子邮件时不转换复选框,javascript,html,asp.net,contact-form,Javascript,Html,Asp.net,Contact Form,我正在尝试将复选框转换为可以使用asp.net代码通过电子邮件发送的字符串。下面的代码正在将Jquery脚本重写到ASP.net中,效果很好。但是,正如下面代码中所述,convert to string函数正在转换文本字段和复选框。表单未转换复选框。它总是将它们作为“否”输入,即使在选中时也是如此 下面是与复选框相关的HTML代码 <input name="" id="check1" type="checkbox"><label for="check1"></

我正在尝试将复选框转换为可以使用asp.net代码通过电子邮件发送的字符串。下面的代码正在将Jquery脚本重写到ASP.net中,效果很好。但是,正如下面代码中所述,convert to string函数正在转换文本字段和复选框。表单未转换复选框。它总是将它们作为“否”输入,即使在选中时也是如此

下面是与复选框相关的HTML代码

   <input name="" id="check1" type="checkbox"><label for="check1"></label>
   <input type="hidden" value="false" name="check1" />

   <input name="" id="check2" type="checkbox"><label for="check2"></label>                                          
   <input type="hidden" value="false" name="check2" />

   <input name="" id="check3" type="checkbox"><label for="check3"></label>
   <input type="hidden" value="false" name="check3" />
我已经删除了这行下面的代码,因为它不重要

以下是我的JQUERY代码,与发布函数有关:

function sendmailse() {
                    $.post('formsend.aspx', { ch: 4, field1: $("#f1").val(), field2: $("#f2").val(), field3: $("#f3").val(), field4: $("#f4").val(), checkbox1: $("#txt_check1").val(), checkbox2: $("#txt_check2").val(), checkbox3: $("#txt_check3").val(), comments: $("#comments").val() }, function (data) {                       
                        $("#f1").val("");
                        $("#f2").val("");
                        $("#f3").val("");
                        $("#f4").val("");
                        $("#txt_check1").val("");
                        $("#txt_check2").val("");
                        $("#txt_check3").val("");
                        $("#comments").val("") 
                       });
              }
下面是我建议实现的附加复选框Jquery代码:

function checkboxse()
            {
                 $('#check1').change(function checkboxse(){
                      if($(this).is(":checked"))
                         {
                             $('#txt_check1').val("true");
                         }
                      else
                         {
                             $('#txt_check1').val("false");
                         }
                 });

                 $('#check2').change(function checkboxse(){
                      if($(this).is(":checked"))
                         {
                             $('#txt_check2').val("true");
                         }
                      else
                         {
                             $('#txt_check2').val("false");
                         }
                 });

                 $('#check3').change(function checkboxse(){
                      if($(this).is(":checked"))
                         {
                             $('txt_check3').val("true");
                         }
                      else
                         {
                             $('txt_check3').val("false");
                         }
                 });

它还不能工作。正如我前面所说的,复选框每次都以“否”的形式出现。

您可以获取复选框的值,以了解它是否被选中,只需执行以下操作:

document.getElementById('check3')。已选中

编辑: 为了调整代码,您可能需要删除
函数复选框的代码
,以及函数
发送邮件

function sendmailse() {
    $.post('formsend.aspx', { 
        ch: 4,
        field1: $("#f1").val(),
        field2: $("#f2").val(),
        field3: $("#f3").val(),
        field4: $("#f4").val(),
        checkbox1: "\"" + document.getElementById('check1').checked + "\"",
        checkbox2: "\"" + document.getElementById('check2').checked + "\"",
        checkbox3: "\"" + document.getElementById('check3').checked + "\"",
        comments: $("#comments").val() 
    }, 
    function (data) {                       
           $("#f1").val("");
           $("#f2").val("");
           $("#f3").val("");
           $("#f4").val("");
           // remove because unused
           /* $("#txt_check1").val("");
           $("#txt_check2").val("");
           $("#txt_check3").val(""); */
           $("#comments").val("") 
       });
}

这不起作用,我的表格现在还没有提交。您确定要删除函数(数据)部分中的三行复选框吗?您是否尝试过调试?控制台是否显示一些错误?某处可能有打字错误。。。由于不再使用
txt\u复选框
,因为不需要调用
复选框
删除/注释成功处理程序中的3行是安全的。请参阅我刚刚发布的带有修订代码的答案。还是不行。它在更改之前提交的很好,但每次都说不。
function sendmailse() {
    $.post('formsend.aspx', { 
        ch: 4,
        field1: $("#f1").val(),
        field2: $("#f2").val(),
        field3: $("#f3").val(),
        field4: $("#f4").val(),
        checkbox1: "\"" + document.getElementById('check1').checked + "\"",
        checkbox2: "\"" + document.getElementById('check2').checked + "\"",
        checkbox3: "\"" + document.getElementById('check3').checked + "\"",
        comments: $("#comments").val() 
    }, 
    function (data) {                       
           $("#f1").val("");
           $("#f2").val("");
           $("#f3").val("");
           $("#f4").val("");
           // remove because unused
           /* $("#txt_check1").val("");
           $("#txt_check2").val("");
           $("#txt_check3").val(""); */
           $("#comments").val("") 
       });
}