ハイ、私はこの議論について多くの議論を読みましたが、解決策を見つけることができません. フォーム内にテーブルがあり、このテーブルの最初の行は php スクリプトによって表示されます。ユーザーが新しい値のセットを挿入できるようにテーブルに行を追加することはできません。問題は、挿入したこの新しい行が送信されないことです。ここにphpコードがあります
<form method="post">
<table name="elencoAltriContatti" id="elencoAltriContatti">
<button type="button" class="btn primary success" onClick="showNewContatti();" name="nuovo">NUOVO</button>
<tr>
<td><p><strong>Nome</strong></p></td>
<td><p><strong>Qualifica</strong></p></td>
<td><p><strong>Email</strong></p></td>
<td><p><strong>Telefono</strong></p></td>
<td></td>
</tr>
<?php
echo "<tr>";
echo "<td><p><input type=\"text\" id=\"nome\" name=\"NOME[]\" value=\"".$row['NOME']."\" class=\"input-text3\" onchange=\"selectCheckbox('".$i."')\"></p></td>";
echo "<td><p><input type=\"text\" id=\"qualifica\" name=\"QUALIFICA[]\" value=\"".$row['QUALIFICA']."\" class=\"input-text3\" onchange=\"selectCheckbox('".$i."')\"></p></td>";
echo "<td><p><input type=\"text\" id=\"email\" name=\"EMAIL[]\" value=\"".$row['EMAIL']."\" class=\"input-text3\" onchange=\"selectCheckbox('".$i."')\"> </p></td>";
echo "<td><p><input type=\"text\" id=\"telefono\" name=\"TELEFONO[]\" value=\"".$row['TELEFONO']."\" class=\"input-text3\" onchange=\"selectCheckbox('".$i."')\"></p></td>";
echo "<td><input id=\"".$i."\" name=\"CHECKBOX[]\" type=\"checkbox\" value=\"\" style=\"float:right\"></td>";
echo "</tr>";
?>
</table>
<div class="control-group">
<div class="controls">
<button type="reset" name="reset" class="btn info">CANCELLA</button>
<button type="submit" name="submit" class="btn info" >SALVA</button>
</div>
</div>
</form>
これは問題なく動作します。これが私が使用するjavascript関数です
function showNewContatti(){
var table = document.getElementById('elencoAltriContatti');
var lastRow = table.rows.length;
var row=table.insertRow(lastRow);
var nome=row.insertCell(0);
var qualifica=row.insertCell(1);
var email=row.insertCell(2);
var telefono=row.insertCell(3);
var checkbox=row.insertCell(4);
nome.innerHTML="<p><input type=\"text\" id=\"nome\" name=\"NOME[]\" class=\"input-text3\" onchange=\"selectCheckbox('"+lastRow+"')\"></p>";
qualifica.innerHTML="<p><input type=\"text\" id=\"qualifica\" name=\"QUALIFICA[]\" class=\"input-text3\" onchange=\"selectCheckbox("+lastRow+")\"></p>";
email.innerHTML="<p><input type=\"text\" id=\"email\" name=\"EMAIL[]\" class=\"input-text3\" onchange=\"selectCheckbox("+lastRow+")\"></p>";
telefono.innerHTML="<p><input type=\"text\" id=\"telefono\" name=\"TELEFONO[]\" class=\"input-text3\" onchange=\"selectCheckbox("+lastRow+")\"></p>";
checkbox.innerHTML="<input type=\"checkbox\" id=\""+lastRow+"\" name=\"CHECKBOX[]\" style=\"float:right\">";}
この関数で追加された新しい行は送信されません。アイデアはありますか? 助けてくれてありがとう
編集: JavaScript 関数を変更しました。現在は次のようになっています。
var table = document.getElementById('elencoAltriContatti');
var lastRow = table.rows.length;
var Iterator=lastRow;
var row=table.insertRow(lastRow);
var nome = row.insertCell(0);
var cell = document.createElement('input');
cell.type = 'text';
cell.name = 'nome' + Iterator;
cell.id = 'nome' + Iterator;
cell.className= 'input-text3';
cell.onchange= function(){
selectCheckbox(Iterator);
};
nome.appendChild(cell);
しかし、私はまだ同じ問題を抱えています。他に何ができますか?