如何将引用值传递给表单元素?

时间:2018-03-07 21:30:11

标签: javascript php jquery

我正在显示数据库中的产品列表。现在每个产品列表都有一个名为' Contact Support'按钮。单击该按钮,将弹出一个表单。对于每个产品,我都会在点击该产品的按钮时获得联系人详细信息的参考值,如电子邮件ID或电话号码。让我展示我的代码并同时解释,

这是我的脚本:  以下是显示产品列表的脚本:

$list = $('#final_list');
$.post('contact.php', {}, function(data){
    for(var i=0; i < data.length; i++ ){
        var $temp = $('#product_list').clone();

        $temp.find('#product_name h5').html('Product');
        $temp.find('#product_name p').html(data[i]['name']);

        contact_btn = $temp.find('#cont_btn h4');
        contact_btn.data('contact_supp',data[i]['contact']);

        $temp.find('#cont_btn h4').html("Contact Support");
        $temp.show();

        $list.append($temp);
    }  
});

以下脚本用于在“联系支持”后显示表单。点击。

$(document).on( 'click', '#cont_btn h4', function(){
    var cont_to = $(this).data('contact_supp');
    $('#ContactForm').fadeIn();
});

以下是将要显示的表格:

<div id="ContactForm" class='form_overlay' style="display: none;">
    <h3>Contact Support</h3>
    <form action="#">
        <input id="uname" placeholder="Name" type="text" required />
        <input id="usubject" placeholder="Subject" type="text" required />
        <input type="hidden" id="cdetail" />
        <textarea id="umessage" placeholder="Your Message" required></textarea>
        <button type="button" class='button' onclick="submitContactForm()">SUBMIT</button>
    </form>
</div>

以下是在提交表格时调用的函数代码。

function submitContactForm(){
    var name = $('#uname').val();
    var subject = $('#usubject').val();
    var message = $('#umessage').val();

    $.ajax({
        type: 'POST',
        url: 'contactSupport.php',
        data: {
            name: name,
            subject: subject,
            message: message,
        },
        success: function(msg){
            // After success if want anything to show  
        }
    });  
    $('.form_overlay').fadeOut();
}

contactSupport.php

<?php

if(!empty($_POST['name']) && !empty($_POST['subject']) && !empty($_POST['email']) && !empty($_POST['message']) && (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) === false)){

    $name = $_POST['name'];
    $subject = $_POST['subject'];
    $message = $_POST['message'];
    // $to =  // The email that I get from database for that particular product.

    $email = new \Email\EmailTemplate();
    $content = [
        'CONTENT'=>$message." from - ". $name
    ];
    $this->toJson($email->setTo(['email' => $to, 'name' => $name, 'type' => 'to'])->setSubject($subject)->setTemplate('emailDefault')->setContent($content)->send());
}
?>

现在我想将var cont_to的值传递给表单的隐藏输入元素,而后者又会将此值传递给submitContactForm(),后者会将值发布到后端。我怎样才能做到这一点 ? 或者是否可以直接将cont_to的值传递给submitContactForm()函数?

非常感谢帮助。 TIA。

0 个答案:

没有答案