下面显示了我的 HTML 文件的摘录。表单的目标是当用户选择一个复选框时,它将在初始总值上添加一个进一步的值。
<!doctype html>
<html class="">
<head>
<script type="text/javascript">
function checkTotal() {
document.listForm.total.value = '';
var sum = 68.50;
for (i=0;i<document.listForm.choice.length;i++) {
if (document.listForm.choice[i].checked) {
sum = sum + parseFloat(document.listForm.choice[i].value);
}
}
document.listForm.total.value = sum.toFixed(2);
}
</script>
</head>
<body>
<form name="listForm" method="post" action="standard_form.php">
<div class="form-group">
<label for="additional_extras">Extras</label><br><br>
<input type="checkbox" name="choice" value="60.00" onchange="checkTotal()"> Number1 </div>
<div class="form-group">
<label for="additional_extras_2"></label><br>
<input type="checkbox" name="choice" value="20.00" onchange="checkTotal()"> Number 2
</div>
<div class="form-group">
<label for="additional_extras_3"></label><br>
<input type="checkbox" name="choice" value="45.00" onchange="checkTotal()"> Number 3
</div>
<div class="form-group">
<label for="additional_extras_4"></label><br>
<input type="checkbox" name="choice" value="23.50" onchange="checkTotal()"> Number 4
</div>
<div class="form-group">
<label for="additional_extras_5"></label><br>
<input type="checkbox" name="choice" value="40.00" onchange="checkTotal()"> Number 5
</div>
<div class="form-group">
<label for="additional_extras_6"></label><br>
<input type="checkbox" name="choice" value="23.50" onchange="checkTotal()"> Number 6
</div>
<div class="form-group">
<label for="additional_extras_7"></label><br>
<input type="checkbox" name="choice" value="120.00" onchange="checkTotal()"> Number 7
<br>
<h3>Your Current Package Total: £<input type="text" readonly placeholder="68.50" name="total" id="total"/></h3>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</div>
</body>
</html>
然后我会将此表单发送到以下 php 文件,然后该文件将通过电子邮件发送表单输出。我已经设法让所有其他字段成功发送,但如果没有添加功能(这使得总数)被中断,就无法让复选框值发送并通过电子邮件输出。
<?php
if(isset($_POST['email'])) {
// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "myemail";
$email_subject = "mysubject";
function died($error) {
// your error code can go here
echo "We are very sorry, but there were error(s) found with the form you submitted. ";
echo "These errors appear below.<br /><br />";
echo $error."<br /><br />";
echo "Please go back and fix these errors.<br /><br />";
die();
}
$choice = $_POST['choice']; // required
$total = $_POST['total']; // required
$email_message = "Form details below.\n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Choice: ".clean_string($choice)."\n";
$email_message .= "Order Total: ".clean_string($total)."\n";
// create email headers
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
<!-- include your own success html here -->
Thank you for contacting us. We will be in touch with you very soon.
<?php
}
?>
请问有人有解决办法吗??无论我尝试什么,我都无法让复选框通过那里的值发送并像表格的其余部分一样在电子邮件中显示自己。
任何帮助将非常感激!
谢谢!