JavaScript用户输入文本到选项值不发送到php

时间:2017-11-16 09:04:14

标签: javascript php html iframe

我希望用户在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>

3 个答案:

答案 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

相关问题