сохранение данных таблицы html в базу данных - PullRequest
0 голосов
/ 29 декабря 2011

У меня есть HTML-таблица с именем newTable, я хочу сохранить данные из этой таблицы в таблицы MySQL. У меня проблема в том, что строки вставляются в newTable с использованием jqueryselectors, а индивидуальная комбинация столбец-строка не имеет уникального идентификатора / имени (это динамическая таблица, которая заполняется во время выполнения) Вот как данные вставляются в эту таблицу

var ntr='',//to store html for new table row
         rows=[],//to collect new rows
        $tbl=$("#table_rolecart tbody"),//original table
        l=$("tr", $tbl).length;//length of rows in original table's tbody section
        var row, brow, drow, trclass;
      for(var i=0;i<l;){
         row=$("tr:eq("+i+")", $tbl);//row with item name 
         brow=row.next("tr");//row with business justification textbox
         drow=brow.next("tr");//row with date textboxes

         ntr= '<tr><td>'+$("td:nth-child(2)",row).text()+'</td><td>'  //add item name
                +$("td:nth-child(3)",row).text()+'</td><td>'//add description
                +$(brow).find("input#ar_businessjust").val()+'</td><td>' //add business just.
                +$(drow).find("input#ar_startdate").val()+'</td><td>'//start date
                +$(drow).find("input#ar_enddate").val()+'</td></tr>';//end date
                rows.push(ntr);
     i+=4; //we have traversed 3 rows and one empty row, next item should be current + 4
        }
        $("#newTable tbody").append(rows.join(''));

Таким образом, в основном это сводные данные из таблицы корзины. В настоящее время поля ar_businessjust, ar_startdate, ar_enddate являются общими полями с одинаковым идентификатором для всех товаров в корзине. Даже если у меня есть форма, окружающая ее, и я выполняю form_id.serialize (), чтобы передать параметры с помощью jquery.ajax (), в этом случае ничего не поймано

1 Ответ

0 голосов
/ 29 декабря 2011

OK

Не начинать негативно, но использование одного и того же идентификатора для нескольких элементов - не лучший способ. Вместо этого лучше поменять его на классы.

Однако, когда дело доходит до сериализованных форм, http://api.jquery.com/serialize/ (это то, что вы используете?) Говорит, что сериализуются только «успешные элементы управления». http://www.w3.org/TR/html401/interact/forms.html#h-17.13.2 говорит нам, что вам нужен атрибут имени.

Мое предложение: измените идентификаторы, которые используются несколько раз, на классы и обновите ваши селекторы для этого. Добавьте атрибуты имени и посмотрите, поможет ли это.

Тем не менее, я предполагаю, что вы контролируете код, который также печатает таблицу корзины.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...