2013-04-12 49 views
-1

我掙扎着,我不知道還有什麼地方可以轉身。我有一個在他們的網站上銷售的客戶,但是,我正在重寫代碼,我需要一個聯繫表單,向他們發送查詢。目前它都是在Wordpress中設置的。呈現表單的方式 - php和HTML

但是,表單將允許客戶發送一個訂單的簡單信息。所以數量,顏色,描述字段的形式(聯繫表格7插件)

我想要的是他們爲不同的產品多次輸入該信息。所以顧客進入例如5個藍色睡衣+10個綠色襪子。但他們可能有很多訂單,我們無法知道有多少。我需要的是一個界面想法,這並不難,因爲在電子商務設置正確之前,這是一種拋棄式的形式。如果我沒有說清楚,請讓我知道。

+1

爲什麼不按照原樣保存表單,而是在輸入條目時將其添加到列表中(並存儲在隱藏的「輸入」中)。然後提供一個發送整個列表的提交按鈕。 – Gareth

+0

這不是一個壞主意。謝謝Gareth。 –

回答

2

我還沒有驗證代碼,但這裏是一個概念。

<head> 
<script type="text/javascript"> 
    var ordernum = 1; 
    function Add_to_Order() { 
     /* Adding another order to the form */ 
     ordernum++; 
     var order_str = '<p><label for="order' + ordernum + '_id">Quantity: </label><input id="order' + ordernum + '_id" name="order' + ordernum + '_qty" type="text" size="6" /><input name="order' + ordernum + '_color" type="text" /><input name="order' + ordernum + '_desc" type="text" /></p>'; 
     $('#orders').append(order_str); 

     /* Replaces the value of qty so that you know how many orders to track */ 
     $('input[name=qty]').val(function(index, value) { 
      return value.replace(ordernum); 
     }); 
    } 
    jQuery(document).ready(function($){ 
     /* When add order button is pressed it will add additional fields to the id=orders */ 
     $('#add_order').click(Add_to_Order); 
    }); 
</script> 
</head> 
<body> 
    <form id="contactForm" method="POST" action=""> 
     <label for="name_id">Name: </label> 
     <input id="name_id" name="name" type="text" /> 
     <fieldset id="orders"> 
      <p> 
       <label for="order1_id">Quantity: </label> 
       <input id="order1_id" name="order1_qty" type="text" size="6" /> 
       <input name="order1_color" type="text" /> 
       <input name="order1_desc" type="text" /> 
      </p> 
     </fieldset> 
     <input id="add_order" type="button" value="Add Another Item" /> 
     <input id="qty" name="qty" type="hidden" value="1" /> 
     <hr /> 
     <input id="submit" name="submit" type="submit" value="Send" />  
    </form> 
</body> 

在這一點之後,您可以驗證表格並提交您可以根據您擁有的數量的訂單發送信息。我還會添加一些安全措施,但這只是您可以使用的一個概念。

+0

謝謝,這也不算太壞。感謝Robert Lee。 –

1

實際上,你想要的PHP郵件格式並不是一件容易的事情,但我一直試圖提供幫助,即使你沒有繪製出你想要的形式,甚至不是主題。現在,比如說我們已經命名form.php的一個PHP文件,這裏是PHP腳本:

<?php 
$q = addslashes($_GET["q"]); 

if (empty($q)) { 
    echo '<form action="form.php" method="get"> 
    How many do you want to order: <input type="text" name="q"> 
    <input type="submit"> 
    </form>'; 
} 

if ($q > 0) { 
    if (isset($_REQUEST['from'])) { 
     $from = $_REQUEST['from'] ; 

     // place your email here 
     $to = "[email protected]"; 

     $subject = "Customer: " . $_REQUEST['name']; 

     $i = 1; 
     while ($i <= $q) { 
      $message .= "Order $i\n"; 
      $message .= "Quality: " . $_REQUEST['quality' . $i] . "\n"; 
      $message .= "Color: " . $_REQUEST['color' . $i] . "\n"; 
      $message .= "Description: " . $_REQUEST['description' . $i] . "\n\n"; 
      $i++; 
     } 

     $message .= "Note: " . $_REQUEST['note']; 
     mail($to, $subject, $message, "From:" . $from); 
     echo "Thank you for submitting your order!"; 
    } else { 
     echo "<form method='post'> 
     Email: <input name='from' type='text'><br /> 
     Full Name: <input name='name' type='text'><br />"; 

     $i = 1; 
     while ($i <= $q) { 
      echo "Order $i<br /> 
      Quality: <input name='quality" . $i . "' type='text'><br /> 
      Color: <input name='color" . $i . "' type='text'><br /> 
      Description: <input name='description" . $i . "' type='text'><br />"; 
      $i++; 
     } 

     echo "Additional Note:<br /> 
     <textarea name='note' rows='15' cols='40'></textarea><br /> 
     <input type='submit'> 
     </form>"; 
    } 
} 
?> 

這郵件的形式進行測試和工作..只要完成剩下的改善和樣式。

+1

感謝您的幫助。我想我會跟羅伯特的想法一起走,但是一直以來都要感謝你寫這些。 –