如何转换复选框以字符串使用jQuery和ASP.net发布? [英] how do i convert checkboxes to string for posting using Jquery and ASP.net?

查看:153
本文介绍了如何转换复选框以字符串使用jQuery和ASP.net发布?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想一个复选框转换为可以使用我的asp.net code通过电子邮件发送的字符串。下面的code使用jQuery脚本的HTML形式进入ASP.net工作正常进行转换。但是,窗体未进行转换的复选框。它总是带给他们的不是,检查时也是如此。除此之外,形式完美。它发送电子邮件很好,所有其他领域的正常工作。

I am trying to convert a checkbox into a string that can be emailed using my asp.net code. The code below uses a Jquery script to convert the html form into ASP.net which works fine. However, the form is not converting the checkboxes. It always brings them in as No, even when checked. Other than that the form works perfectly. It sends the email fine, all of the other fields work fine.

下面是关于复选框的HTML code。

Here is the HTML code relating to the checkboxes.

    <input name="check1" id="check1" type="checkbox">
    <input type="hidden" value="false" name="txt_check1" id="txt_check1" />
    <input name="check2" id="check2" type="checkbox">
    <input type="hidden" value="false" name="txt_check2" id="txt_check2" />
    <input name="check3" id="check3" type="checkbox">
    <input type="hidden" value="false" name="txt_check3" id="txt_check3" />

我是pretty确保它有事情做与jQuery和/或ASP.net code。

I am pretty sure it has something to do with the JQUERY and/or ASP.net code.

Case 4 Contact Form
Response.Write(sendMailSE(Convert.ToString(Request.Form("name")), Convert.ToString(Request.Form("field1")), Convert.ToString(Request.Form("field2")), Convert.ToString(Request.Form("field3")), Convert.ToString(Request.Form("field4")), Convert.ToString(Request.Form("checkbox1")), Convert.ToString(Request.Form("checkbox2")), Convert.ToString(Request.Form("checkbox3")), Convert.ToString(Request.Form("comments"))))

    Public Function sendMailSE(ByVal field1, ByVal field2, ByVal field3, ByVal field4, ByVal checkbox1, ByVal checkbox2, ByVal checkbox3, ByVal comments) As String
    Try
        Const ToAddress As String = "jdoe@abcd.com"

        '(1) Create the MailMessage instance
        Dim mm As New System.Net.Mail.MailMessage("jdoe@abcd.com", ToAddress)

        'create cocantenated string for body of message
        Dim sb As StringBuilder = New StringBuilder()


        '(2) Assign the MailMessage's properties
        mm.Subject = "Contact Us: "
        sb.Append("Contact Us: " + vbCrLf)
        sb.Append("----------------------------------" + vbCrLf)
        sb.Append("Date " + DateTime.Now() + vbCrLf)
        sb.Append("Field1: " + field1 + vbCrLf)
        sb.Append("Field2:" + field2 + vbCrLf)
        sb.Append("Field3: " + field3 + vbCrLf)
        sb.Append("Field4: " + field4 + vbCrLf)
        sb.Append("Checkbox1 " + IIf(checkbox1, "Yes", "No") + vbCrLf)
        sb.Append("Checkbox2 " + IIf(checkbox2, "Yes", "No") + vbCrLf)
        sb.Append("Checkbox3 " + IIf(checkbox3, "Yes", "No") + vbCrLf)
        sb.Append("Comments: " + comments + vbCrLf)

我已删除了这条线之下的code,因为它是无形的。

I have removed the code below this line as it is immaterial.

下面是我JQUERY code有关该功能的过账:

Here is my JQUERY code pertaining to the posting of the function:

function check() {
              $('#check1').change(function check(){
              if($(this).is(":checked"))
                 {
                     $('#txt_check1').val("true");
                 }
              else
                 {
                     $('#txt_check1').val("false");
                 }
             });
            $('#check2').change(function check(){
              if($(this).is(":checked"))
                 {
                     $('#txt_check2').val("true");
                 }
              else
                 {
                     $('#txt_check2').val("false");
                 }
            });
            $('#check3').change(function check(){
              if($(this).is(":checked"))
                 {
                     $('txt_check3').val("true");
                 }
              else
                 {
                     $('txt_check3').val("false");
                 }
            });
}

function sendmailse() {
                $.post('RequestForms/sendmail.aspx', {
                    ch: 4, 
                    name: $("#sename").val(),
                    filer: $("#filer").val(),
                    filingagent: $("#filingagent").val(),
                    phone: $("#sephone").val(),
                    email: $("#seemail").val(),
                    checkbox1: $("#txt_check1").val(),
                    checkbox2: $("#txt_check2").val(),
                    checkbox3: $("#txt_check3").val(), 
                    comments: $("#secomments").val() 
                },
                function (data) {                       
                    $("#sename").val("");
                    $("#filer").val("");
                    $("#filingagent").val("");
                    $("#sephone").val("");
                    $("#seemail").val("");
                    $("#txt_check1").val("");
                    $("#txt_check2").val("");
                    $("#txt_check3").val("");
                    $("#secomments").val("") 
                });
              }

它不工作仍在。正如我之前所说的,在所有其他领域的,不同的是复选框正常工作。该电子邮件的形式不错,但复选框进来,因为没有每一次。如果你看看我的ASP和jQuery code,必须有一个问题的地方在那里。

It is not working still. As I said before, the all of the other fields are working correctly except the checkboxes. The form emails fine but the checkboxes come in as No every time. If you look at my asp and jquery code there must be a problem somewhere in there.

推荐答案

更​​新值:
用jQuery控制的javascript code

Update values: Control with Jquery in code of javascript

<script type="text/javascript">
    $(document).ready
        (
            function()
            {
                 $('#check1').change(function(){
                      if($(this).is(":checked"))
                         {
                             $('#txt_check1').val("true");
                         }
                      else
                         {
                             $('#txt_check1').val("false");
                         }
                 });


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


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

检查和文字的输入ID和名称必须型动物,在你的情况是这样的:

The inputs id and name of check and text must be differents, in your case it would look like this:

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

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

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

和你的函数应该得到的txt的值:

And your function should get the value of txt:

   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和ASP.net发布?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆