0

多くの行を持つテーブルがあり、各行には選択リストがあります。このようなもの:

| USER    | MANAGER            | DEPARTMENT   |

| Rob     | [John Smith |V]    | [Sales |V]   | 

| Sue     | [Bob Jones |V]     | [Support |V] |

ユーザーは新しい行を自由に追加でき、多くの行があり、リストの内容は複雑です。

すべてのマネージャーセレクターIDを「manager」、すべての部門セレクターIDを「department」にすることで、作業を大幅に簡素化しました。

フォームが送信されたら、各行を循環し、各行を見つけて、ID「manager_[rownumber]」と「department_[rownumber]」を変更するJavaScriptを作成しました。

そして、フォームを送信します。私のJavaScriptコードは以下の通りです。

アラートポップアップを使用したデバッグに基づいて、IDは希望どおりに変更されていますが、サーブレットは1つの「manager」パラメーターと1つの「department」行番号しか受け取りません。

すべての入力('manager_1'、'manager_2'など)が送信されないのはなぜですか?IDを変更した後、フォームを送信する前に変更が有効になるようにするために、何かしなければならないことはありますか?

ありがとう!

ロブ

これが私のコードです:

function submitForm() {
  correctInputIDs();
  document.myform.submit();
}

function correctInputIDs() {
  var rows = document.getElementsByTagName("tr");
  for (var i=0; i<rows.length; i++) {
    var row = rows[i];
    selectElements = rows.getElementsByTagName("select");
    for (var j=0; j<selectElements.length; j++) {
      var selectElement = selectElements[j];
      if (selectElement.id == "manager") {
        selectElement.id = "manager_"+i;
      }
      if (selectedElement.id == "department") {
        selectElement.id = "department_"+i;
      }
    }
  }
}
4

1 に答える 1

4

フォームの送信では ID は重要ではないため、重要nameです。

幸せな読書

于 2012-06-19T19:36:51.390 に答える