javascriptを使用して追加のフィールドを追加した後、追加のフィールド値はphpのpostメソッドによって送信されません。ここで、基本的な5つのフィールドを追加するコードでは、残りはユーザーが必要に応じて追加できる追加のフィールドです。
コードは次のとおりです。
<script language="javascript">
var i = 11;
function changeIt()
{
my_div.innerHTML = my_div.innerHTML +"<tr><td> <input id='item"+i+"' name='item"+i+"' type='text' maxlength='255' value=''/></td><td><input id='kgorp"+i+"' name='kgorp"+i+"' type='text' maxlength='3' value=''/></td><br/></tr>";
i++;
}
</script>
<body>
Please enther the grocery items
<table>
<tr>
<th> Item name</th><th> kg/No of packet</th>
</tr>
<form method="post" action="gl.php">
<tr> <td><input id="item1" name="item1" type="text" maxlength="255" value=""/></td><td><input id="kgorp1" name="kgorp1" type="text" maxlength="3" value=""/></td></tr>
<tr> <td><input id="item2" name="item2" type="text" maxlength="255" value=""/></td><td><input id="kgorp2" name="kgorp2" type="text" maxlength="3" value=""/></td></tr>
<tr> <td> <input id="item3" name="item3" type="text" maxlength="255" value=""/></td><td><input id="kgorp3" name="kgorp3" type="text" maxlength="3" value=""/></td></tr>
<tr> <td> <input id="item4" name="item4" type="text" maxlength="255" value=""/></td><td><input id="kgorp4" name="kgorp4" type="text" maxlength="3" value=""/></td></tr>
<tr> <td> <input id="item5" name="item5" type="text" maxlength="255" value=""/></td><td><input id="kgorp5" name="kgorp5" type="text" maxlength="3" value=""/></td></tr>
<tr id="my_div"></tr>
<tr> <td><input id="saveForm" type="submit" value="Submit List" /></td><td><input id="addtxt" type="button" name="addtxt" value="Add more items" onClick="changeIt()" /></td> </tr>
</form>
</table>
</body>
postメソッドを介して送信されたデータを取得するためのphpコード
$i=1;
foreach ($_POST as $param_value) {
if ( empty( $param_value ) ) {
} else {
echo "<td>$param_value</td>";
if ( ( $i % 2 ) == 0 ) {
echo "</tr> <tr>";
}//echo $i;
}
$i++;
}