2013-04-28 50 views
0

我從來沒有試圖發佈用javascript創建的動態文本框來處理數據。發送到處理頁面的唯一表單數據是提交按鈕值。關於如何做到這一點的任何想法,以便所有的文本框數據通過郵件發送正確?帖子無法正常使用JavaScript動態創建文本框

頁代碼:

<?php 
if(!isset($_GET['saleid'])) { 
    header('location: dashboard.php'); 
    die(); 
}else{ 
    include('db_connect.php'); 
    $saleid = mysqli_real_escape_string($mysqli, $_GET['saleid']); 
} 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" /> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script> 
<script> 
$(function() { 
    $("#date").datepicker({ dateFormat: 'yy-mm-dd' }) 

    $(document).ready(function(){ 

     var counter = 2; 

    $("#addButton").click(function() { 

    if(counter>5){ 
      alert("Only 10 textboxes allow"); 
      return false; 
    } 

    $("#sale > tbody").append("<tr><td> <label>Date:</label><br /><input type='textbox' id='date" + counter + "' ></td><td> <label>Type:</label><br /><input type='textbox' id='type" + counter + "' ></td><td> <label>Amount:</label><br /><input type='textbox' id='amount" + counter + "' ></td><td><label>Notes:</label><br /><input type='textbox' id='notes" + counter + "' ></td></tr>"); 


    counter++; 
    }); 

    $("#removeButton").click(function() { 
    if(counter<3){ 
      alert("No more textbox to remove"); 
      return false; 
     } 

    counter--; 

     $('#sale tr:last').remove(); 
    }) 
    }); 
}); 
</script> 
</head> 

<body> 
<?php echo "Sale ID: ". $saleid; ?> 
<form id="form1" name="form1" method="post" action="<?php echo "process_saletrans.php?saleid=" . $saleid; ?>"> 
<h2>Sale Transaction</h2> 
      <table id="sale" width="300" border="0" cellpadding="2"> 
      <tr> 
       <td> <label>Date:</label><br /> 
      <input type='textbox' id='date1' ></td> 
       <td> <label>Type:</label><br /> 
      <input type='textbox' id='type1' ></td> 
      <td> <label>Amount:</label><br /> 
      <input type='textbox' id='amount1' ></td> 
      <td> <label>Notes:</label><br /> 
      <input type='textbox' id='notes1' ></td> 
     </table> 
    <input type='button' value='Add' id='addButton'> 
<input type='button' value='Remove' id='removeButton'> 
<p> 
    <input type="submit" name="submit" id="submit" value="Add Transaction" /> 
</p> 
</form> 
</body> 
</html> 

回答

0

我相信你所遇到的問題是,你正在使用id而非name。您可以同時使用id,但我很確定它不會爲提交表單設置表單字段的名稱。

+0

你有一個如何創建這個想法,所以它做或拉jquery中的值,並作爲一個數組傳遞? – jfur7 2013-04-28 04:05:27

+0

您需要做的就是將這些'input'元素的'name'屬性設置爲與您當前將其'id'屬性設置爲相同的值。 – 2013-04-28 04:07:31

+0

您可以將'id'改爲'name',但如果您將它用於造型,您可能還想保留'id'。據推測,至少動態生成的情況並非如此,所以...只要繼續並將所有'id's更改爲'name'即可。 – 2013-04-28 04:09:22