2015-03-10 2 views
0

У меня есть сетка судоку 9x9, и каждый блок имеет назначенный ему элемент ввода.Вставка значений (сетка Sudoku)

Когда я устанавливаю значения в поле и пытаюсь проверить элемент ввода, я замечаю, что свойство innerHTML пусто ("").

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

Вот мои JS:

window.onload = function(){ 
    var grid = []; 
    setInputBox(); 
    document.getElementById('btn').onclick = function(){ 
     solve(grid); 
    } 

}; 


function setInputBox(){ 
    var inputElements = document.getElementsByTagName('td'); 
    for(var prop in inputElements){ 
     if(inputElements[prop].innerHTML = " "){ 
      inputElements[prop].innerHTML += '<input type="number" min="1" max="9"/>'; 
     } 
    } 
} 

var solve = function(grid){ 
    grid = document.getElementsByTagName('input'); 
    console.log(grid); 
//  for(var i = 0; i < 9; i++){ 
//   for(var j = 0; i < 9; j++){ 
// 
//    if(checkValidity(grid,i,j)){ 
//     console.log('valid'); 
//    } 
//    else{ 
//     console.log('invalid'); 
//    } 
//   } 
//  } 
    } 
+0

Им не совсем понятно, что вы просите, но текст во входном элементе хранится в его значении, а не в innerHtml, если это то, что вы имели в виду ... – Banana

+0

Если вы предоставили соответствующий HTML-код, это поможет. – leigero

+0

@Banana входной тип номер – Raj

ответ

0

В зависимости от того, что ваш "входной" есть, я предполагаю, что они <input type="text">?

Если это так, то вам нужно использовать .value вместо .innerHTML

.innerHTML используется, чтобы получить все HTML в теге.

IE

<form> 
    <input type="number" class="whatever"> 
</form> 

Это действительно не имеет каких-либо «внутренний HTML» в пределах входного тега, потому что это его собственный элемент. Вам понадобится VALUE этого элемента, а не содержимое тега.

Однако

<div id="whatever"> 
    <a href="#">link text</a> 
</div> 

Вы можете получить .innerHTML из <a> тега здесь, потому что содержимое между открывающим и закрывающим тегами ... смысл есть HTML внутри (он же innerHTML)

+0

Тип ввода - это номер « – Raj

+0

@ user3750842 В этом случае вы будете по-прежнему используйте '.value' вместо' .innerHTML' – leigero