我想将所选对象发送到电子邮件地址。
这是一个演示: http://jsfiddle.net/62g3s8sz/
我知道可以用PHP发送电子邮件,我尝试了很多方法,但都失败了。
电子邮件需要与所选项目相对应。
因此,如果使用AMD FM2 A6-6400K双核3,9GHz选择Cooler Master K-380,我需要它列出这些项目
案例:Cooler Master K-380:价格 处理器:AMD FM2 A6-6400K双核3,9GHz:价格
然后将其发送到此人登录的电子邮件地址。 我知道$ loggedInUser->电子邮件将显示电子邮件地址。
如果有人知道如何通过电子邮件将所有这些信息发送给登录的人员,那就太棒了。
HTML:
<script type="text/javascript" src="js/formcalc.js"></script>
<form method="POST" name="contactform" action="contact-form.php" id="computerform">
<div>
<div class="cont_order">
<fieldset>
<legend></legend>
<label>Case</label>
<br>
<label class='radiolabel'>
<input checked="checked" type="radio" name="selectedcase" value="2001" onclick="calculateTotal()" />Cooler Master K-350 - ($10)</label>
<br/>
<label class='radiolabel'>
<input type="radio" name="selectedcase" value="2002" onclick="calculateTotal()" />Cooler Master K-380 - ($20)</label>
<br/>
<br/>
<label>Processor</label>
<br>
<label class='radiolabel'>
<input checked="checked" type="radio" name="selectedprocessor" value="3001" onclick="calculateTotal()" />AMD FM2 A4-5300 Dual Core 3,4GHz - ($10)</label>
<br/>
<label class='radiolabel'>
<input type="radio" name="selectedprocessor" value="3002" onclick="calculateTotal()" />AMD FM2 A6-6400K Dual Core 3,9GHz - ($20)</label>
<br/>
<br/>
<label>Totale price</label>
<div class="total">
<div id="case"></div>
<div id="totalPrice"></div>
</div>
<br>
</fieldset>
</div>
<input type='submit' id='submit' value='Bestel' onclick="calculateTotal()" />
</div>
</form>
JavaScript代码
var case_prices = new Array();
case_prices["2001"]=10;
case_prices["2002"]=20;
var processor_prices = new Array();
processor_prices["3001"]=10;
processor_prices["3002"]=20;
window.onload = function()
{
calculateTotal();
}
// getCasePrice() finds the price based on the selected case
// Here, we need to take user's the selection from radio button selection
function getCasePrice()
{
var casePrice=0;
//Get a reference to the form id="computerform"
var theForm = document.forms["computerform"];
//Get a reference to the case the user Chooses name=selectedcase":
var selectedCase = theForm.elements["selectedcase"];
//We loop through each radio buttons
for(var i = 0; i < selectedCase.length; i++)
{
//if the radio button is checked
if(selectedCase[i].checked)
{
//we set cakeSizePrice to the value of the selected radio button
//i.e. if the user choose the 8" cake we set it to 25
//by using the cake_prices array
//We get the selected Items value
//For example cake_prices["Round8".value]"
casePrice = case_prices[selectedCase[i].value];
//If we get a match then we break out of this loop
//No reason to continue if we get a match
break;
}
}
//We return the cakeSizePrice
return casePrice;
}
// getCasePrice() finds the price based on the selected case
// Here, we need to take user's the selection from radio button selection
function getProcessorPrice()
{
var processorPrice=0;
//Get a reference to the form id="computerform"
var theForm = document.forms["computerform"];
//Get a reference to the cake the user Chooses name=selectedprocessor":
var selectedProcessor = theForm.elements["selectedprocessor"];
//We loop through each radio buttons
for(var i = 0; i < selectedProcessor.length; i++)
{
//if the radio button is checked
if(selectedProcessor[i].checked)
{
//we set cakeSizePrice to the value of the selected radio button
//i.e. if the user choose the 8" cake we set it to 25
//by using the cake_prices array
//We get the selected Items value
//For example cake_prices["Round8".value]"
processorPrice = processor_prices[selectedProcessor[i].value];
//If we get a match then we break out of this loop
//No reason to continue if we get a match
break;
}
}
//We return the cakeSizePrice
return processorPrice;
}
function calculateTotal()
{
//Here we get the total price by calling our function
//Each function returns a number so by calling them we add the values they return together
var computerPrice = getCasePrice() + getProcessorPrice() + getCoolerPrice() + getMotherboardPrice();
//display the result
var divobj = document.getElementById('totalPrice');
divobj.style.display='block';
divobj.innerHTML = "Totale prijs: €"+computerPrice ;
}
谢谢:)
答案 0 :(得分:0)
我不想粘贴答案的链接,但是......
http://php.net/manual/en/function.mail.php
所以你需要的就是这样的东西
$content = "..write it here yadda yadda whatever is your mail content ..";
$ok = mail($mailTo,"Hello, this is the mail subject",$content);
注意这将发送普通邮件,还有一些额外的步骤来制作HTML邮件,所有内容都覆盖在上面的链接上。祝你好运
很少有提醒:除非您安装了邮件守护程序并使用PHP,否则它可能无法在您的本地计算机上运行,而且您可能需要根据PHP的安装方式调整该mail()函数的最后一个参数。
答案 1 :(得分:0)
PHP代码必须位于 contact-form.php 中,或者您必须在HTML中更改该名称。
使用PHP的mail()
功能。
在PHP中,表单数据在超全局变量$_REQUEST
中可用。
请尝试print_r($_REQUEST);
查看其中的内容。
答案 2 :(得分:0)
在php中,您通过mail()
功能发送邮件(或者您可以使用外部邮件程序插件),这需要一些基本概念。例如:
$to = "email-from-user@some-email-client.com";
$subject = "You just made an order";
$body = $message;
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
$headers .= "From: noreply@somewebsite.com";
if (mail ($to, $subject, $body, $headers)) {
echo "1";
}
快速解释,您需要一些参数才能使功能正常工作。我只是从我自己的邮件功能移动了一些项目,但我会解释。你需要一个目标($to
变量)一个主题($subject
变量和内容,我在这里定义为$body
...现在我也添加了标题,这是额外的,但对你来说,这可能很重要。前两行允许你在电子邮件中使用HTML,你可以用来标记邮件,比如使用表格。你也可以指定电子邮件的来源。
我在那里使用echo来检查它是否通过了mail函数,如果是这样的话,我在ajax调用return中使用该参数来建立一个附加div。
请记住,调用外部样式表并不适合这样做,所以最好还是要对元素进行内联样式处理。
修改强>
我看到你试图从电子邮件中获取字段集中的总数。由于您使用div来显示结束内容,因此发送表单将不允许您从总计中转移变量。 (顺便说一句,如果你提交这个表格,你实际上用3002和2001作为变量,而不是电子邮件中的名字,因此你必须做一些查询工作来推出正确的名称)因为我认为这些价格是同样在数据库中,您可以从那里计算出固定价格,并在查询中将其推出,然后您必须在$body
变量中使用。
试着指出正确的方向