0

データをスクリプトに投稿してデータベースを更新する関数がありますが、スクリプトは for ループを使用して数値をインクリメントし、その数値はスクリプトの変数名に挿入されます。この理由は、不明な量のデータを取得しており、セルを一意に識別する必要があるためです。

したがって、私が抱えている問題には、関数が含まれており、ポスト変数を変更して、スクリプトがループ内でそれらをチェックできるようにする必要があります。

元。

function test(test_name, test_id, cell_num, type)
  {
     if (type == "Test") {
         var test_name = $("#test_"+cell_num+"_name").val();
         $.post('test.php', { cell_num: cell_num, 'test_'+cell_num+'_name': test_name });
     }
  }

'test'+cell_num+'_name': test_name の形式が正しくないことに気付くでしょう。私がやろうとしているのは、スクリプトがこれらの名前を段階的にループするときに、変数変数名を導入することです。

アップデート:

     var test_name = $("#test_"+cell_num+"_name").val();
     var params = {};
     params['cell_'+cell_num] = cell_num;
     params['test_'+cell_num+'_name'] = test_name;
     $.post('test.php', params);

を使用して、test.php の params のデータにアクセスできません

test_name = $_POST['test_1_name'];
cell = $_POST['cell_1'];

params は変数ではなく値を渡しているようです。

4

2 に答える 2

1

あなたはこのようにすることができます

function test(test_name, test_id, cell_num, type)
  {
     if (type == "Test") {
         var test_name = $("#test_"+cell_num+"_name").val();
         var params = {cell_num: cell_num};
         params['test_'+cell_num+'_name'] = test_name;
         $.post('test.php', params);
     }
  }

json オブジェクトを定義する際に、キー名を動的に定義することはできません。したがって、動的キーが必要な場合は、配列のように扱うと問題が解決します。

于 2013-10-26T17:31:11.240 に答える
0

私は標準的な投稿をすることに決め、動的変数の使用をやめました。これは、多くの不必要なストレスを引き起こしていたからです。在庫システムに使用されていたので、単一のフィールドを変更でき、クリックするとすぐに単一のセルがデータベースを更新します.

データベースへのトラフィック量を減らそうとしましたが、面倒でした。

于 2013-10-30T15:43:27.500 に答える