フォームを作成していて、動的テキストボックスを作成するボタンを追加しましたが、動的テキストボックスを作成した後にフォームを送信すると、テキストボックスから出力が得られません
echo '<form action="" method="post">';
echo '<INPUT size=70% TYPE="hidden" VALUE="AIzaSyxxxxxxxxxx" NAME="apiKey">';
echo "<INPUT size=70% TYPE = 'hidden' VALUE='xx' NAME = 'registrationIDs'>";
echo '<table class="table" name ="table">';
for($i=0;$i<$counter;$i++){
$srno=$i+1;
echo "<tr name='input-holder'>";
echo " <td><input type='text' value=' $medicsarray[$i] - $qtyarray[$i]'
name='medic'/>"; echo "</td>";
echo "<td><input type='text' name='add[]' /> </td> ";
echo "</tr>";
}
echo "</table>";
}}
?>
<table class="table">
<tr><td><input type='button' name='addmedic' value='add new input box' /></td>
<td></td></tr>
<tr><td>TOTAL:</td><td><input type='text' id='results' value="0"></td></tr>
</table>
<input type="submit" value="Send Notification"/>
</form>
私のJavaScriptコード
function bindFunctions() {
var sub = document.getElementsByName("addmedic")[0];
sub.onclick = onClickFunction;
var input = document.getElementsByName("add[]");
for (var i = 0; i < input.length; i++) {
if (input[i].type == "text") {
input[i].onblur = onBlurFunction;
}
}
}
bindFunctions();
function onBlurFunction() {
var ttl = 0;
var input = document.getElementsByName("add[]");
for (var i = 0; i < input.length; i++) {
if (input[i].type == "text") {
ttl += Number(input[i].value);
}
}
res =document.getElementById("results");
res.value=ttl;
}
function onClickFunction() {
var inputHolder = document.getElementsByName('table');
var a= inputHolder.length;
a=a-1;
inputHolder[a].innerHTML +="<tr name='input-holder'><td><input type='text'
name='medic' placeholder='medicine name and qty' /></td><td><input type='text'
name='add[]'/></td></tr>";
bindFunctions();
}
</script>
<pre>
<?php print_r($_POST); ?>
</pre>
テキストボックス追加ボタンをクリックしないと出力 [add] => Array ( [0] => 23 [1] => 23 )