0

ハイ、私はこの議論について多くの議論を読みましたが、解決策を見つけることができません. フォーム内にテーブルがあり、このテーブルの最初の行は 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);

しかし、私はまだ同じ問題を抱えています。他に何ができますか?

4

1 に答える 1