插入值(数独网格)

时间:2015-03-10 19:36:30

标签: javascript html

我有一个9x9的数独网格,每个框都有一个分配给它的输入元素。

当我在框中设置值并尝试检查输入元素时,我注意到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');
//                }
//            }
//        }
    }

1 个答案:

答案 0 :(得分:0)

取决于您输入的内容&#34;是的,我假设他们是<input type="text">

如果是,那么您需要使用.value代替.innerHTML

.innerHTML用于获取标记内的所有HTML。

<强> IE

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

这并没有任何&#34;内部html&#34;在输入标记内,因为它是自己的元素。您需要该元素的VALUE,而不是标记的内容。

<强>然而

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

你可以在这里获得.innerHTML标签的<a>,因为开始标记和结束标记之间有内容...意味着内部有HTML(又名innerHTML)