Добавление и извлечение текстовых полей в jsp

#javascript #jsp

#javascript #jsp

Вопрос:

Я хочу динамически добавлять текстовое поле на страницу jsp при нажатии кнопки «Добавить строку». Я написал java script, чтобы добавить это. С этим проблем нет. Но я не могу получить эти значения на странице сервлета. Есть идеи?

Вот сценарий:

 function addRow(tableID) {

        var table = document.getElementById(tableID);

        var rowCount = table.rows.length;
        var row = table.insertRow(rowCount);

        var cell1 = row.insertCell(0);
        var element1 = document.createElement("input");
        element1.type = "checkbox";
        cell1.appendChild(element1);

        var cell3 = row.insertCell(1);
        var element2 = document.createElement("input");
        element2.type = "text";
        cell3.appendChild(element2);

        var cell3 = row.insertCell(2);
        var element3 = document.createElement("input");
        element3.type = "text";
        cell3.appendChild(element3);

         var cell4 = row.insertCell(3);
        var element4 = document.createElement("input");
        element4.type = "text";
        cell4.appendChild(element4);

    }
  

И вот jsp, где вызывается скрипт:

 <INPUT type="button"
    value="Add Row" onclick="addRow('dataTable')" />
  

Комментарии:

1. добавляйте динамические имена к созданным текстовым полям.

Ответ №1:

Вам нужно указать name атрибут. Это становится именем параметра запроса.

Вы можете просто присвоить им всем одинаковое имя.

 element.name = "foo";
  

Или, если вы также хотите «уважать» пользователей IE6 / 7

 document.createElement('<input type="text" name="foo">');
  

(jQuery упрощает все это и улучшает совместимость с кроссбраузерными программами)

Затем вы можете получить к ним доступ следующим образом в сервлете

 String[] foos = request.getParameterValues("foo");
  

Они будут отображаться в том порядке, в каком они отображаются в дереве HTML DOM.