首页 > 解决方案 > 当onclick-button send() 不显示已发送电子邮件中的输入时,jQuery 中的复选框

问题描述

我正在通过添加一个复选框来更新我当前的联系表格。单击按钮 = send() 时,除复选框外,所有内容均已正确发送到我的电子邮件。它总是说“开”。我明白,我需要检查 jquery 的复选框,但是这里有所有指南,我还没有找到成功(可能是由于我缺乏对 jquery 的一般理解)。:-)

至于现在它是这样设置的(请注意,我已经删除了所有其他形式以简化):

HTML:
<div class="form-group">
   <label for="form_targeted">Targeted study</label>
   <input type="checkbox" class="form-control checkbox" name="targeted" id="form_targeted"/>
</div>
<div class="col-sm-12">
    <button type="button" onClick="send()" class="btn btn-primary">Submit answers</button>
</div>

jQuery:
<script>
    function send() {
        var form_targeted = jQuery('[name=targeted]').val();

            var xhttp = new XMLHttpRequest();
                xhttp.onreadystatechange = function() {
                    if (this.readyState == 4 && this.status == 200) {
                        document.getElementById("contact-form").innerHTML =
                            this.responseText;
                    }       
                };
                xhttp.open("POST", "php/questionary.php", true);
                xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
                xhttp.send("targeted="+form_targeted);
            }
</script>

php/questionary.php:

<?php
$targeted   = $_POST['targeted'];

$email_from = 'Sender';
$email_subject = 'Subject';
$email_body = "Answers: \n".
    
        "Targeted: $targeted\n".

$to = "info@email.com";
$headers = "From: $email_from \r\n";
$headers = "Reply-To: $email \r\n";

mail($to,$email_subject,$email_body,$headers);

header("location: php/send_email.html");
?>

期待您的回答。

谢谢,路易斯

标签: jquery

解决方案


我确实通过更改以下内容来解决它

var form_targeted = jQuery('[name=targeted]').val();

var form_targeted = jQuery("[name='targeted']").is(":checked");

无论如何,谢谢你的回复:-)

Mange tak 输入 Carsten。


推荐阅读