从html、javascript和aspx发送电子邮件时不转换复选框
我正在尝试将复选框转换为可以使用asp.net代码通过电子邮件发送的字符串。下面的代码正在将Jquery脚本重写到ASP.net中,效果很好。但是,正如下面代码中所述,convert to string函数正在转换文本字段和复选框。表单未转换复选框。它总是将它们作为“否”输入,即使在选中时也是如此 下面是与复选框相关的HTML代码从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"></
<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("")
});
}