Как проверить ввод в динамической таблице HTML?

0

У меня есть следующий код для генерации динамического html, который может принимать входные данные от пользователей, я хочу проверить входные данные этой таблицы, я пытался добавить идентификаторы ввода в функцию Javascript, но он не работает, можете ли вы предложить какой-либо способ добиться этого?

HTML:

    <th>Number of BPIs: <title="Number of BPIs"></th>

  <td><select id="numberbpis" name="numberbpis" onchange="buildTable(this.value)">

  <option value="1">1</option >
  <option value="2">2</option >
  <option value="3">3</option >
  <option value="4">4</option >
  <option value="5">5</option >
  <option value="6">6</option >
  <option value="7">7</option >
  <option value="8">8</option >
  <option value="9">9</option >
  </select></td>
  </tr>



     <table id="contentTable" border="1">
      <!-- Fill table programmatically -->
     </table>

Javascript:

function buildTable(val) {
    var myTable =document.getElementById("contentTable");
    var j=val;
    var rows = [];
    var cells = [];

    while (myTable.hasChildNodes()) {
        myTable.removeChild(myTable.lastChild);
    }

    for (var i = 0; i < 1; i++) {
        rows[i] = myTable.insertRow(i);
        if (i%3 == 2) rows[i].addClass("every3rdrow");
        cells[i] = [];

        for (var x = 0; x < j ; x++) {
            cells[i][x] =document.createElement((x==0)?"th":"td");
            cells[i][x].innerHTML = (x==0)?"<input>":"<input>";
            rows[rows.length - 1].appendChild(cells[i][x]);
        }
    }
}

buildTable();

Я попытался добавить <input id="..." name="...">, но это не работает, можете ли вы предложить какое-либо другое решение?

это jsfiddle, я забыл добавить некоторые из html-кода выше,

http://jsfiddle.net/FyAnR/2/

я хочу дать входной идентификатор для ввода в функции javascript, так что я могу использовать этот id для вызова другой функции javascript, но когда я даю <input id = "t1">,

динамическая таблица не создается, помогите?

я бы проверил нормальный ввод таким образом,

          function AdaptiveValidate(){
       $adaptive = document.getElementById("adaptive").value;
       if(!/^-?\d*$/.test($adaptive)) {
           alert("Adaptive BPI vector(% capacity) value must be numeric!");
       } 
           } 

Я хочу использовать это для проверки элементов таблицы, которые еще не созданы?

а также как читать входные значения из этой таблицы?

Теги:

1 ответ

0

Не могу комментировать, но...

Значит, вы просто хотите идентификатор? Итак, каждый из них будет отображаться от t0 до tx? Способ, которым я это сделал, динамически добавляет идентификатор для каждой ячейки. Это то, что вы ищите? http://jsfiddle.net/J4KFQ/

for (var x = 0; x < j ; x++) {
        cells[i][x] =document.createElement((x==0)?"th":"td");
        cells[i][x].innerHTML = (x==0)?"<input id=t"+x+">":"<input id=t"+x+">";
        rows[rows.length - 1].appendChild(cells[i][x]);
}
  • 0
    в основном, я бы проверил нормальный ввод таким способом, function AdaptiveValidate () {$ adaptive = document.getElementById ("adaptive"). value; if (! / ^ -? \ d * $ /. test ($ adaptive)) {alert («Значение адаптивного вектора BPI (% емкость) должно быть числовым!»); }} я хочу использовать этот метод для проверки элементов таблицы, которые еще не созданы?
  • 0
    Просто чтобы уточнить, вы хотите проверить, что каждое значение ячейки является числом?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню