2013-09-23 4 views
0

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

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

динамический стол не генерируется, помогите?

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

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

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

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

+0

"Не работает" является _never_ достаточного описания проблемы. Существуют ли ошибки в консоли вашего браузера? Вы пробовали переходить через ваш код с помощью отладчика? –

+0

Я хочу знать, можно ли добавить s внутри javascript? – Sachin

+0

Почему вы не используете jQuery? –

ответ

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

в основном, я бы проверил нормальный ввод таким образом, функция AdaptiveValidate() { \t \t $ adaptive = document.getElementById ("adaptive"). Value; \t \t if (!/^ -? \ D * $ /. Test ($ adaptive)) { alert ("Адаптивное значение вектора BPI (% емкости) должно быть числовым!"); \t \t} \t \t \t} Я хочу использовать этот метод для проверки элементов таблицы, которые еще не созданы? – Sachin

+0

Чтобы уточнить, вы хотите проверить, что значение каждой ячейки - это число? –

Смежные вопросы