我正在显示数据库中的产品列表。现在每个产品列表都有一个名为' 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。