Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.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
Jquery 将值存储在隐藏字段中,然后通过查询字符串将其传递给电子邮件提交_Jquery_Asp.net_Forms_Checkbox_Hidden Field - Fatal编程技术网

Jquery 将值存储在隐藏字段中,然后通过查询字符串将其传递给电子邮件提交

Jquery 将值存储在隐藏字段中,然后通过查询字符串将其传递给电子邮件提交,jquery,asp.net,forms,checkbox,hidden-field,Jquery,Asp.net,Forms,Checkbox,Hidden Field,我有一些jQuery代码,用于从表单中获取用户输入,并将其放在电子邮件的正文中。此表单中的一个字段是一个可选复选框,其id和名称为member。我有一个名为memberChk的隐藏字段,用于根据复选框是否选中来存储值。如果选中该复选框,则隐藏字段应存储一个字符串值Yes。如果未选中该复选框,则隐藏字段应存储No 好的,我更新了jQuery代码,现在无论复选框是否选中,该值始终为No。选中该复选框时,应在电子邮件中显示“是”。我错过了什么 这是复选框和隐藏字段的代码: <tr><

我有一些jQuery代码,用于从表单中获取用户输入,并将其放在电子邮件的正文中。此表单中的一个字段是一个可选复选框,其id和名称为member。我有一个名为memberChk的隐藏字段,用于根据复选框是否选中来存储值。如果选中该复选框,则隐藏字段应存储一个字符串值Yes。如果未选中该复选框,则隐藏字段应存储No

好的,我更新了jQuery代码,现在无论复选框是否选中,该值始终为No。选中该复选框时,应在电子邮件中显示“是”。我错过了什么

这是复选框和隐藏字段的代码:

<tr><td  colspan="3" valign="top"><input type="checkbox" id="member" name="member" value="Member of the NDGAA, PCSA, or Pet Professional Guild" /> Check if a you are a member of the NDGAA, PCSA, or Pet Professional Guild</td><asp:HiddenField ID="memberChk" runat="server" /></tr>
var member =  $('#memberChk').val();
    member = $('input[name="member"]:checked').size() == 0 ? "No" : "Yes";
这是构建查询字符串的代码部分,用于将表单条目传递到电子邮件提交:

$.ajax({
        type: "GET",
        url: "/Usercontrols/forms/getaquote_processor.aspx",
        data: "FirstName=" + FirstName + "&LastName=" + LastName + "&Email=" + Email + "&Telephone=" + Telephone + "&BusinessName=" + BusinessName + 
            "&Address1=" + Address1 + "&Address2=" + Address2 + "&City=" + City + "&State=" + State + "&ZipCode=" + ZipCode + "&BusinessType=" + BusinessType +
            "&OwnershipType=" + OwnershipType + "&PartnershipName=" + PartnershipName + "&MemberOf=" + MemberOf + "&CurrentInsurance=" + CurrentInsurance +
            "&PolicyExpiration=" + PolicyExpiration + "&AnnualReceipts=" + AnnualReceipts + "&AnnualPayroll=" + AnnualPayroll + "&OwnOrRent=" + OwnOrRent +
            "&ConstructionType=" + ConstructionType + "&YearBuilt=" + YearBuilt + "&BuildingUpdates=" + BuildingUpdates + "&Heating=" + Heating + "&HeatingYear=" + HeatingYear + 
            "&Cooling=" + Cooling + "&CoolingYear=" + CoolingYear + "&Plumbing=" + Plumbing + "&PlumbingYear=" + PlumbingYear + "&Electrical=" + Electrical + "&ElectricalYear=" + ElectricalYear + 
            "&Roofing=" + Roofing + "&RoofingYear=" + RoofingYear + "&Sprinklers=" + Sprinklers + "&PlateGlass=" + PlateGlass +
            "&PlateGlassWidth=" + PlateGlassWidth + "&HomeBusiness=" + HomeBusiness + "&SeperateBuilding=" + SeperateBuilding + "&CostToReplaceBuilding=" + CostToReplaceBuilding +
            "&CostToReplaceContents=" + CostToReplaceContents + "&OwnersCostToReplaceBuilding=" + OwnersCostToReplaceBuilding + "&OwnersSquareFootage=" + OwnersSquareFootage +
            "&NumberOfEmployees=" + NumberOfEmployees + "&NumberOfContractors=" + NumberOfContractors + "&MAddress1=" + MAddress1 + "&MAddress2=" + MAddress2 + "&MCity=" + MCity + 
            "&MState=" + MState + "&MZipCode=" + MZipCode  + "&VehicleMake=" + VehicleMake + "&VehicleModel=" + Model + "&VIN=" + VIN + "&Cab=" + Cab + "&Customization=" + Customization + 
            "&LeaseCompany=" + LeaseCompany + "&DriversName=" + DriversName + "&DriversLicense=" + DriversLicense + "&Birthday=" + BirthDay + "&CageFree=" + CageFree + 
            "&ConstuctionOfRuns=" + ConstructionOfRuns + "&Floors=" + Floors + "&Walls=" + Walls + "&MaxDogs=" + MaxDogs + "&AvgDogs=" + AvgDogs + "&KennelsEnclosed=" + KennelsEnclosed + 
            "&KennelsHeated=" + KennelsHeated + "&FenceNeeded=" + FenceNeeded + "&IsFenceAttached=" + IsFenceAttached + "&FenceReplacementCost=" + FenceReplacementCost + 
            "&FenceSquareFeet=" + FenceSquareFeet + "&RequireVaccinations=" + RequireVaccinations + "&CustomersUnsupervised=" + CustomersUnsupervised + "&Member=" + member + "&Comments=" + comments,
最后但并非最不重要的是,电子邮件正文中用于在电子邮件中显示复选框值的部分:

 #region MEMBERSHIP
        //MEMBERSHIP
        String Member = string.Empty;
        Member = Request.QueryString["Member"];
 #endregion MEMBERSHIP

  #region MEMBERSHIP
        sb.Append("<tr><td colspan=\"2\"><strong>Check if a you are a member of the NDGAA, PCSA, or Pet Professional Guild</strong></td></tr>");
        sb.Append(string.Format("<tr><td colspan=\"2\">{0}</td></tr>", Member));
  #endregion
请尝试下面的代码

// work out the value
var checkVal = $('input[name="member"]:checked').length === 0 ? "No" : "Yes";

// get the checkbox
var member =  $('#memberChk');

// set the checkbox value
member.val(checkVal);
但现在的问题是,您不允许ASP.NET将表单发回,因此隐藏字段的使用方式与预期不同,因此我们需要获取其值

var memberVal =  member.val();
// obviously this step is not required you could just use the raw value we calculate above, 
// this is added as I don't know the execution flow of your code
另一种方法是在下面的注释中使用类似于JSBINI设置的onChange处理程序

$('input[name="member"]').on('change', function(e)
{
  var isChecked = $(this).is(':checked');
  $('#memberChk').val(isChecked ? "Yes" : "No");
});

// then just get the value when you need it like
var member =  $('#memberChk').val();

您还知道可以使用$'form'.serialize[]来获取ajax调用的所有表单值,这要求它们都有一个name属性吗?

我将尝试此方法……至于$'form'.serialize方法,我不知道,但这也不是我的代码。我不知道为什么以前的开发人员没有这样做…好吧,我确实尝试了你的代码,它可以工作,但是当复选框被选中时,电子邮件提交仍然显示no作为响应。我在这里创建了一个JSBin来演示复选框的选中。我发现你的方法是有效的。我有个打字错误,我没听懂。