我希望用户在iframe中输入几个不同文本框中的项目数,并将它们显示在parent.php中作为一个合并选项列表,您可以在其中选择每个项目并删除它。然后我想通过php将所有选项值的最终列表发送到电子邮件。我把一切都工作,直到将选项值分配给php变量。我一直没有得到任何列表亲电子邮件。我不确定如何将选项值传递给php。
这是我到目前为止所得到的。
parent.php
<?php
$to = 'myemail@email.com';
$subject = 'Available Item Lists';
if(isset($_POST['submit'])){
foreach ($_POST['qlist'] as $selectList) {
echo "You have the following :" .$selectList; // Display all
selection values
$body = $selectList;
}
$headers = '$email';
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
mail ($to, $subject, $body, $headers);
}
?>
<form method="post" id="quote-form" name="quote-form" action="?">
<label for="items">List of items</label><br />
<div class="form-section">
<select name="qlist[]" id="qlist" multiple="multiple"></select>
<button id="deleteButton" onclick="deleteEntry(); return
false;">Delete</button>
<input type="submit" value="Send" name="submit" id="submit">
</div>
<script type="text/javascript">
function displayQuantity(noOfitems, labelVal) {
var qq = noOfitems;
var labelName = labelVal;
var quoteQuantity = document.getElementById("qlist");
var quantity = quoteQuantity.value;
quantity += labelName + ": ";
quantity += qq;
quantity += " pcs\n";
quoteQuantity.value = quantity;
var option = document.createElement("option");
option.text = quantity;
quoteQuantity.add(option);
}
function deleteEntry() {
var myList = document.getElementById('qlist');
var i;
for (i = myList.length - 1; i>=0; i--) {
if (myList.options[i].selected) {
myList.remove(i);
}
}
}
</script>
iframe.php
<div class="order-quantity">
<form name="form">
<label id="itemType">Heavy Duty Square Core Drilled</label>
<input type="number" id="total-quantity" name="quantity" />
<button type="button" id="addItem"
onclick="parent.displayQuantity(this.form.quantity.value,
getVal())">Add</button>
</form>
</div>
<script type="text/javascript">
function getVal() {
var labelVal = document.getElementById("itemType").textContent;
return labelVal;
}
</script>
答案 0 :(得分:0)
我懂了!!我将此功能添加到提交按钮以选择列表中的所有选项:D
function selectAll() {
selectBox = document.getElementById("qlist");
for (var i = 0; i < selectBox.options.length; i++) {
selectBox.options[i].selected = true;
}
}
答案 1 :(得分:0)
来自
foreach ($_POST['qlist'] as $selectList) {
echo "You have the following :" .$selectList; // Display all
selection values
$body = $selectList;
}
到
$Data = $_POST["qlist"];
foreach ($Data as $selectList) {
echo "You have the following :" .$selectList; // Display all
$body = $selectList;
}
答案 2 :(得分:0)
请检查“enable_post_data_reading”状态
禁用此选项会导致不填充$ _POST和$ _FILES。
如果在php.ini文件中禁用它,请启用它并重新启动apache