0

これは、入力を受け入れる動的な html テーブルを作成するための HTML および Javascript コードです。

HTML:

    <table id="contentTable" border="1" name="contentTable">
    <!-- Fill table programmatically -->
   </table></td>

JavaScript:

      function buildTable(val)
  {
var myTable =document.getElementById("contentTable");
var j=val;
var rows = [];
var cells = [];

  while (myTable.hasChildNodes()) {
    myTable.removeChild(myTable.lastChild);
}


for( var i = 0; i < 1; i++ )
{
    rows[i] = myTable.insertRow(i);
    if(i%3==2)rows[i].addClass("every3rdrow");
    cells[i] = [];

    for( var x = 0; x < j ; x++ )
    {
        cells[i][x] =document.createElement((x==0)?"th":"td");
        cells[i][x].innerHTML = (x==0)?"<input id=t onchange=ty() name=t[]>":"<input id=t1 onchange=ty1() name=t1[]>";
        rows[rows.length - 1].appendChild(cells[i][x]);
    }
}

     }
       buildTable();    

 function ty(){
   $ad = document.getElementById("t").value;
   if(!/^-?\d*$/.test($ad)) {
       alert("Number of heads per model value must be numeric!");
   } 
       } 

  function ty1(){
   $ad = document.getElementById("t1").value;
   if(!/^-?\d*$/.test($ad)) {
       alert("Number of heads per model value must be numeric!");
   } 
       }        

これは、HTML フォームのコンテンツをテキスト ファイル PHP に抽出/読み取るための php コードです。

     file_put_contents($file, "\n Models Vector:", FILE_APPEND | LOCK_EX);
$ret = file_put_contents($file, $_POST['t'], FILE_APPEND | LOCK_EX);
$ret = file_put_contents($file, $_POST['t1'], FILE_APPEND | LOCK_EX);

コンテンツの抽出または表示に問題はありませんが、配列の要素間にスペースを入れることはできません。 21 22 23 のように、配列の要素間にスペースまたはカンマを入れたいのですが、

$_POST['t'] の代わりに $_POST['t']."\t" を指定しましたが、Models Vector: Array 2223 として出力を取得しています。 $_POST['t1']."\t" また、Models Vector: Array Array として出力を取得しています。なぜこれが発生し、これらの配列要素の間にスペースを挿入するのですか?

4

1 に答える 1

0

配列は自分で処理する必要があります。配列をファイルに直接書き込んでいるので、PHP が選択した方法で表示されます。

簡単な解決策は、直接ではimplode(", ", $_POST['t'])なく使用することです。$_POST['t']

于 2013-09-25T19:56:09.353 に答える