doudong0425 2016-12-05 02:03
浏览 55
已采纳

使用按钮动态添加项目的联系表单

The form, except the usuall name, phone, email fields etc. I want it to have a dropdown with some products and a text box for the quantity.The point is that i want the user to be able to add more products(dropdown and text box for quantity) with a button.
I managed to do that with some Jquery script but when i send the email with php, the products that i add are not on the email that has been sent.

Here is html:

<!DOCTYPE html>
<html >

<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title></title>

<link href="css/style.css" rel="stylesheet" type="text/css">
</head>

<body >

  <form name="form1" id="form1" action="mail.php" method="POST">
Όνομα: <input type="text" name="name" size="20">
     <br>
Email: <input type="text" name="email" size="20"> <br>
 Νομός: <input type="text" name="nomos" size="20">
     <br>
Περιοχή: <input type="text" name="perioxh" size="15">
     <br>
Διέυθυνση <input type="text" name="address" size="15">
<br>     
Τηλέφωνο: <input type="text" name="tel" size="9">
<br>  
Δ.Ο.Υ: <input type="text" name="doy" size="9"> 

   <div class="aromatika"> 

     <div class="fotodiv"><img src="images/enoikiazomena-diamerismata-                                                                                                                                                       tinos-crystal-view-exwterikos-xwros-nuxta-1.jpg" width="100%" height="300px"></div>

     <div class="input_wrap">
        <select size="1" name="dropdown">      
        <option selected disabled>ΔΙΑΛΕΞΤΕ ΦΥΤΟ </option>

        <option value="ΑΝΗΘΟΣ Φ17"> ΑΝΗΘΟΣ Φ17</option>
        <option value="ΣΕΛΙΝΟ Φ17"> ΣΕΛΙΝΟ Φ17 </option>
        <option value="ΜΑΪΝΤΑΝΟΣ Φ17"> ΜΑΪΝΤΑΝΟΣ Φ17 </option>
        <option value="ΑΡΜΠΑΡΟΡΙΖΑ Φ17"> ΑΡΜΠΑΡΟΡΙΖΑ Φ17 </option>
        <option value="ΑΡΤΕΜΙΣΙΑ Φ17"> ΑΡΤΕΜΙΣΙΑ Φ17 </option>
        <option value="ΑΠΗΓΑΝΟΣ Φ17"> ΑΠΗΓΑΝΟΣ Φ17 </option>
        <option value="ΒΑΣΙΛΙΚΟΣ Φ17"> ΒΑΣΙΛΙΚΟΣ Φ17 </option>
        <option value="ΔΥΟΣΜΟΣ Φ17"> ΔΥΟΣΜΟΣ Φ17 </option>
        <option value="ΔΕΝΤΡΟΛΙΒΑΝΟ Φ17"> ΔΕΝΤΡΟΛΙΒΑΝΟ Φ17 </option>
        <option value="ΔΕΝΤΡΟΛΙΒΑΝΟ ΕΡΠΟΝ Φ17"> ΔΕΝΤΡΟΛΙΒΑΝΟ ΕΡΠΟΝ Φ17   </option>
        <option value="ΔΕΝΤΡΟΛΙΒΑΝΟ ΗΜΙΕΡΠΟΝ Φ17"> ΔΕΝΤΡΟΛΙΒΑΝΟ ΗΜΙΕΡΠΟΝ Φ17 </option>              
        </select>
        <div class="posotita">

         Ποσοτητα <input type="text" size="1" name="text[]" class="form-control">
        </div>
    </div>
        <button class="add_field_button btn btn-info">Προσθέστε προιόν</button>
    </div>


    <input type="submit" value="Αποστολή">      
</form>
    <div></div>
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="scripts/script.js" type="text/javascript"></script>
    </body>
</html>

And now the javascript :

    var wrapper = $(".input_wrap>div");
        var add_button = $(".add_field_button");

        $(add_button).click(function (e) {
            e.preventDefault();
            $(wrapper).after('<div class="input_wrap"><select size="1" name="dropdown"><option selected disabled>ΔΙΑΛΕΞΤΕ ΦΥΤΟ </option>
            <option value="ΑΝΗΘΟΣ Φ17"> ΑΝΗΘΟΣ Φ17</option>
            <option value="selino"> ΣΕΛΙΝΟ Φ17 </option>
            <option value="ΜΑΪΝΤΑΝΟΣ Φ17"> ΜΑΪΝΤΑΝΟΣ Φ17 </option>
            <option value="ΑΡΜΠΑΡΟΡΙΖΑ Φ17"> ΑΡΜΠΑΡΟΡΙΖΑ Φ17 </option>
            <option value="ΑΡΤΕΜΙΣΙΑ Φ17"> ΑΡΤΕΜΙΣΙΑ Φ17 </option>
            <option value="ΑΠΗΓΑΝΟΣ Φ17"> ΑΠΗΓΑΝΟΣ Φ17 </option>
            <option value="ΒΑΣΙΛΙΚΟΣ Φ17"> ΒΑΣΙΛΙΚΟΣ Φ17 </option>
            <option value="ΔΥΟΣΜΟΣ Φ17"> ΔΥΟΣΜΟΣ Φ17 </option>
            <option value="ΔΕΝΤΡΟΛΙΒΑΝΟ Φ17"> ΔΕΝΤΡΟΛΙΒΑΝΟ Φ17 </option>
            <option value="ΔΕΝΤΡΟΛΙΒΑΝΟ ΕΡΠΟΝ Φ17"> ΔΕΝΤΡΟΛΙΒΑΝΟ ΕΡΠΟΝ Φ17   </option><option value="ΔΕΝΤΡΟΛΙΒΑΝΟ ΗΜΙΕΡΠΟΝ Φ17"> ΔΕΝΤΡΟΛΙΒΑΝΟ ΗΜΙΕΡΠΟΝ Φ17 </option></select>
<a href="#" class="remove_field"> Αφαίρεση Προιόντος</a><div class="posotita">Ποσοτητα <input type="text" name="text[]" size="1" class="form-control">'); //add input box

        });

        $(document).on("click",".remove_field",function(){
            $(this).parent().remove();
        });

And last the php :

<?php

$name = $_POST['name'];
$email = $_POST['email'];
$nomos = $_POST['nomos'];
$perioxh = $_POST['perioxh'];
$address = $_POST['address'];
$tel = $_POST['tel'];
$doy = $_POST['doy'];
$dropdown = $_POST['dropdown'];
$posotita = $_POST['text[]'];
$formcontent=" Όνομα: $name 
 Email: $email 
 Νομός: $nomos 
 Περιοχή: $perioxh 
 Διέυθυνση: $address 
 Τηλέφωνο: $tel 
 Δ.Ο.Υ: $doy 
 Προίοντα: $dropdown 
 Ποσότητα: $posotita";
$recipient = "info@birdycreative.gr";
$subject = "Contact Form";
$mailheader = "From: $email 
";
mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
echo "Thank You!" . " -" . "<a href='form.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
?>

You can see it online at http://birdycreative.gr/jqueryform.html

Thanks in advance

  • 写回答

1条回答 默认 最新

  • drsxobip501258 2016-12-05 03:18
    关注

    Kalimera!

    A fix to your question would be the following.

    This will give you all your products in separate line along with their quantities:

    HTML & JavaScript

    <!DOCTYPE html>
    <html >
    
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    
        <title></title>
    
        <link href="css/style.css" rel="stylesheet" type="text/css">
    </head>
    
    <body >
    
    <form name="form1" id="form1" action="mail.php" method="POST">
        Όνομα: <input type="text" name="name" size="20">
        <br>
        Email: <input type="text" name="email" size="20"> <br>
        Νομός: <input type="text" name="nomos" size="20">
        <br>
        Περιοχή: <input type="text" name="perioxh" size="15">
        <br>
        Διέυθυνση <input type="text" name="address" size="15">
        <br>
        Τηλέφωνο: <input type="text" name="tel" size="9">
        <br>
        Δ.Ο.Υ: <input type="text" name="doy" size="9">
    
        <div class="aromatika">
    
            <div class="fotodiv">
            <div class="input_wrap">
                <select name="dropdown[0]">
                    <option selected disabled>ΔΙΑΛΕΞΤΕ ΦΥΤΟ </option>
                    <option value="ΑΝΗΘΟΣ Φ17"> ΑΝΗΘΟΣ Φ17</option>
                    <option value="ΣΕΛΙΝΟ Φ17"> ΣΕΛΙΝΟ Φ17 </option>
                    <option value="ΜΑΪΝΤΑΝΟΣ Φ17"> ΜΑΪΝΤΑΝΟΣ Φ17 </option>
                    <option value="ΑΡΜΠΑΡΟΡΙΖΑ Φ17"> ΑΡΜΠΑΡΟΡΙΖΑ Φ17 </option>
                    <option value="ΑΡΤΕΜΙΣΙΑ Φ17"> ΑΡΤΕΜΙΣΙΑ Φ17 </option>
                    <option value="ΑΠΗΓΑΝΟΣ Φ17"> ΑΠΗΓΑΝΟΣ Φ17 </option>
                    <option value="ΒΑΣΙΛΙΚΟΣ Φ17"> ΒΑΣΙΛΙΚΟΣ Φ17 </option>
                    <option value="ΔΥΟΣΜΟΣ Φ17"> ΔΥΟΣΜΟΣ Φ17 </option>
                    <option value="ΔΕΝΤΡΟΛΙΒΑΝΟ Φ17"> ΔΕΝΤΡΟΛΙΒΑΝΟ Φ17 </option>
                    <option value="ΔΕΝΤΡΟΛΙΒΑΝΟ ΕΡΠΟΝ Φ17"> ΔΕΝΤΡΟΛΙΒΑΝΟ ΕΡΠΟΝ Φ17   </option>
                    <option value="ΔΕΝΤΡΟΛΙΒΑΝΟ ΗΜΙΕΡΠΟΝ Φ17"> ΔΕΝΤΡΟΛΙΒΑΝΟ ΗΜΙΕΡΠΟΝ Φ17 </option>
                </select>
                <div class="posotita">
                    Ποσοτητα <input type="text" size="1" name="text[0]" class="form-control">
                </div>
            </div>
            <button class="add_field_button btn btn-info">Προσθέστε προιόν</button>
        </div>
        <br>
    
        <input type="submit" value="Αποστολή">
    </form>
    <div></div>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script>
        var wrapper = $(".input_wrap>div");
        var add_button = $(".add_field_button");
        var i = 1;
        $(add_button).click(function (e) {
            e.preventDefault();
            $(wrapper).append('<div class="input_wrap"><select size="1" name="dropdown[' + i + ']"><option selected disabled>ΔΙΑΛΕΞΤΕ ΦΥΤΟ </option>' +
                    '<option value="ΑΝΗΘΟΣ Φ17"> ΑΝΗΘΟΣ Φ17</option>' +
                    '<option value="ΣΕΛΙΝΟ Φ17"> ΣΕΛΙΝΟ Φ17 </option>' +
                    '<option value="ΜΑΪΝΤΑΝΟΣ Φ17"> ΜΑΪΝΤΑΝΟΣ Φ17 </option>' +
                    '<option value="ΑΡΜΠΑΡΟΡΙΖΑ Φ17"> ΑΡΜΠΑΡΟΡΙΖΑ Φ17 </option>' +
                    '<option value="ΑΡΤΕΜΙΣΙΑ Φ17"> ΑΡΤΕΜΙΣΙΑ Φ17 </option>' +
                    '<option value="ΑΠΗΓΑΝΟΣ Φ17"> ΑΠΗΓΑΝΟΣ Φ17 </option>' +
                    '<option value="ΒΑΣΙΛΙΚΟΣ Φ17"> ΒΑΣΙΛΙΚΟΣ Φ17 </option>' +
                    '<option value="ΔΥΟΣΜΟΣ Φ17"> ΔΥΟΣΜΟΣ Φ17 </option>' +
                    '<option value="ΔΕΝΤΡΟΛΙΒΑΝΟ Φ17"> ΔΕΝΤΡΟΛΙΒΑΝΟ Φ17 </option>' +
                    '<option value="ΔΕΝΤΡΟΛΙΒΑΝΟ ΕΡΠΟΝ Φ17"> ΔΕΝΤΡΟΛΙΒΑΝΟ ΕΡΠΟΝ Φ17   </option><option value="ΔΕΝΤΡΟΛΙΒΑΝΟ ΗΜΙΕΡΠΟΝ Φ17"> ΔΕΝΤΡΟΛΙΒΑΝΟ ΗΜΙΕΡΠΟΝ Φ17 </option></select>' +
                    '<a href="#" class="remove_field"> Αφαίρεση Προιόντος</a><div class="posotita">Ποσοτητα <input type="text" name="text[' + i + ']" size="1" class="form-control">'
            );
            i++;
        });
    
        $(document).on("click",".remove_field",function(){
            $(this).parent().remove();
        });
    </script>
    </body>
    </html>
    

    PHP

    $name = $_POST['name'];
    $email = $_POST['email'];
    $nomos = $_POST['nomos'];
    $perioxh = $_POST['perioxh'];
    $address = $_POST['address'];
    $tel = $_POST['tel'];
    $doy = $_POST['doy'];
    
    $productsArray=[];
    foreach (($_POST['dropdown']) as $key => $dropdown) {
        $productsArray[$key] = 'Προϊον: ' . $dropdown . ' - Ποσότητα: ' . $_POST['text'][$key] . " 
     ";
    }
    
    $productsString = implode('',$productsArray);
    $formcontent=" Όνομα: $name 
     Email: $email 
     Νομός: $nomos 
     Περιοχή: $perioxh 
     Διέυθυνση: $address 
     Τηλέφωνο: $tel 
     Δ.Ο.Υ: $doy 
     " . $productsString;
    
    $recipient = "info@birdycreative.gr";
    $subject = "Contact Form";
    $mailheader = "From: $email 
    ";
    
    mail($recipient, $subject, $formcontent, $mailheader) or die("Error!");
    
    echo "Thank You!" . " -" . "<a href='form.html' style='text-decoration:none;color:#ff0099;'> Return Home</a>";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分
  • ¥15 Macbookpro 连接热点正常上网,连接不了Wi-Fi。
  • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
  • ¥15 linux驱动,linux应用,多线程
  • ¥20 我要一个分身加定位两个功能的安卓app
  • ¥15 基于FOC驱动器,如何实现卡丁车下坡无阻力的遛坡的效果
  • ¥15 IAR程序莫名变量多重定义