【发布时间】:2017-11-16 09:04:13
【问题描述】:
我希望用户在 iframe 中从几个不同的文本框中输入项目数,并将它们显示在 parent.php 中作为一个组合选项列表,您可以在其中选择每个项目并根据需要删除它。然后我想通过 php 将所有选项值的最终列表发送到电子邮件。在将选项值分配给 php 变量之前,我一切正常。我一直没有收到任何没有列表亲属的电子邮件。我不确定如何将选项值传递给 php。
这是我目前得到的。
父.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>
【问题讨论】:
-
任何控制台错误?为什么选择 iFrame?无论如何它必须来自同一个来源,所以为什么不只是一个 div?
-
也永远不要这样做:
name="submit" id="submit"如果你想使用它,它会隐藏表单的提交事件 -
好的。我会改变它。提交按钮仍然有效。
-
没有控制台错误。我需要在 iframe 中加载其他页面,以便父页面保持不变而无需重新加载。这不是问题。我让它工作了。问题是 php 没有获取选项列表值。
标签: javascript php html iframe