1

動的テーブルを使用して単純なフォームを作成しました。このテーブルの行はユーザー入力値によって増加するため、新しい行が作成されるたびにコンボ ボックスまたは選択 (オプション) を増加させる必要があるため、デフォルトのコンボ ボックスの値のようにする必要があります。注: この選択ボックスまたはコンボ ボックスは列属性の一部です。行は増加しますが、列はありません。

2 番目の質問:

このテーブルの列のデータまたは値を行数に関係なく収集し、php を使用して XAMPP データベースに保存します。単一のフォームからデータを収集する方法は知っていますが、動的フォームからデータを収集する方法はわかりません。

コードは次のとおりです。

function AddRows()
{
var tableelement = document.getElementById("mytable")
var rows = document.getElementById("noofrows").value;
var tablerowcount = tableelement.rows.length;
var currowcount = tablerowcount;


for(i = 1; i < rows; i++) {

var row = tableelement.insertRow(currowcount);
var cellid = row.insertCell(0);
cellid.innerHTML = "<b>" + currowcount +"</b>";
var cellid2 = row.insertCell(1);


cellid2.innerHTML = "<input value='' id='" + currowcount +"_name' /> ";
var cellid3 = row.insertCell(1);
cellid3.innerHTML = "<input value='' id='" + currowcount +"_name' /> ";
var cellid4 = row.insertCell(1);
cellid4.innerHTML = "<input value='' id='" + currowcount +"_name' /> ";
var cellid5 = row.insertCell(1);
cellid5.innerHTML = "<input value='' id='" +currowcount +"_name' /> ";
var cellid6 = row.insertCell(1);
cellid6.innerHTML = "<input value='' id='" +currowcount+"_name' /> ";


var currowcountcurrowcount = currowcount++;


}
}
</script>
</head>
<body>
<form method="post" action="insert.php>

Carton Number :<input type="text" name="cn"> <br>
Business Unit :<input type="text" name="bu"> <br>
No of Files  :<input type="noofrows" id="noofrows"  value="1" name="nof" />

<input name="add" id="add" type="button" value="Add" onClick="AddRows()"/>


<table name="mytable" id="mytable" border=1>
    <tr>
        <td>
          <b>SN</b>
        </td>
        <td>
          <b>From</b>
        </td>
        <td>
          <b>To</b>
        </td>
        <td>
          <b>Range</b>
        </td>
        <td>
          <b>Document Category</b>
        </td>
        <td>
          <b>Document Type</b>
        </td>
    </tr>
    <tr>
    <td>
      <b>1</b>
    </td>
    <td>
       <input value="" id='1_name' >
    </b>
</td>
<td>
       <input value="" id='1_name'/>
    </b>
</td>
<td>
   <input value="" id='1_name' />
 </b>
    </td>

  <td>
  <Select id='select' />
    <option name="option" value="finance">Finance Documents</option>
    <option name="option" value="hr">HR Documents</option>
    <option name="option" value="test">test</option
    </Select>
  </b>
    </td>
    <td>

    <Select id='select' />
       <option name="option" value="CP">Cash movement</option>
       <option name="option" value="PV">Payment Voucher</option>
       <option name="option" value="RV">RV</option
    </Select>
    </b>
    </td>
</tr>
</table>
<br/>
4

1 に答える 1

3
function AddRows()
{
var tableelement = document.getElementById("mytable")
var rows = document.getElementById("noofrows").value;
var tablerowcount = tableelement.rows.length;
var currowcount = tablerowcount;


for(i = 1; i < rows; i++) {

var row = tableelement.insertRow(currowcount);
var cellid = row.insertCell(0);
cellid.innerHTML = "<b>" + currowcount +"</b>";
var cellid2 = row.insertCell(1);
cellid2.innerHTML = "<Select id='select' /><option name='option' value='CP'>Cash movement</option><option name='option' value='PV'>Payment Voucher</option>   <option name='option' value='RV'>RV</option></Select> ";
var cellid3 = row.insertCell(1);
cellid3.innerHTML = "<Select id='select' /><option name='option' value='finance'>Finance Documents</option><option name='option' value='hr'>HR Documents</option><option name='option' value='test'>test</option</Select> ";
var cellid4 = row.insertCell(1);
cellid4.innerHTML = "<input value='' id='" + currowcount +"_name' /> ";
var cellid5 = row.insertCell(1);
cellid5.innerHTML = "<input value='' id='" +currowcount +"_name' /> ";
var cellid6 = row.insertCell(1);
cellid6.innerHTML = "<input value='' id='" +currowcount+"_name' /> ";


var currowcountcurrowcount = currowcount++;


}
}
</script>

関数を変更してすべての行の選択を取得し、最初にデータを保存するには、すべての入力と選択 ID を配列変数
ex id='1_name_Range[]' で範囲に変更します。あなたが言うように、あなたがよく知っている保存のための関数の名前変更コードも変更します。データベースに保存するために配列変数を使用しました

于 2013-03-23T10:02:19.573 に答える