動的に生成されるテーブル中のINPUT要素を、配列化してPHP・JS側双方で捉えたい
皆様、いつも大変御世話になっております。
PHP側で要素を配列として認識できる、との記事をおみかけし、
自分のHTMLに当てはめようとして頭を悩ましています。
テーブル行はJSで動的に形成されます。
こちらの行に含まれるINPUT要素に、本日までは"[]"を付けていませんでしたが
見ようみまねで"[]"を付けてみました...
PHP側での取得にいざ挑戦しようとコーディングを始めたところ...
それ以前にJQueryで、当該INPUT項目の認識ができなくなってしまいました。
例えばコレ:
$("input[name=cd]").keydown(function(event) {
====質問====
以下がコーディングになりますが、テーブル行に収められたINUPUT要素(名前属性=cdとamount)
を配列として処理するため、
JS側とPHPでは どういった記述を施せばよろしいのでしょうか?
JSは
$("input[name=cd]").keydown(function(event) {
の正しい記載方法を教えて頂ければ幸いです。
PHPは
if (isset($_POST["cd"]) && is_array($_POST["cd"])) {
$arr_item = $_POST["food"];
}
で捉えられるのでしょうか?
====HTML====
<!--### 右端の+ボタン・-ボタンで自由に行を増減できる ###-->
<table>
<tr class="appLineDummy">
<td><input type="text" name="cd[]" style="width:45px; ime-mode: inactive;"></td>
<td><input type="text" name="amount[]" style="width:45px;"></td>
<td><button class="rowins" type="button">+</button></td>
<td><button class="rowdel" type="button">-</button></td>
</tr>
</table>
====JQuery====
var $dummyRow = $("tr.appLineDummy");
//### 初回の画面呼び出し時 10行の明細を生成 ###//
$(document).ready(function(){
for(var i = 0; i < 10; i++) {
addRowBelow($dummyRow);
}
});
// テーブル行追加
$(document).on("click", ".rowins", function(e) {
var $row = $(e.target).closest("tr");
addRowBelow($row);
});
// テーブル行削除
$(document).on("click", ".rowdel", function(e) {
var row = $(this).closest("tr").remove();
$(row).remove();
downtotalCalc();
});
//品名CDのテキストボックスにフォーカスが入って、希望出荷日が指定されていなかったら...
//エラー回避の検知は希望出荷日の入力有無で行っています。
$("input[name=cd]").keydown(function(event) {
if ($("#calendar").val() == "") {
errhandler($(this), true, "err#011");
return false;
}
});