插入值(数独网格)

Inserting Values (Sudoku Grid)

本文关键字:网格 插入      更新时间:2023-09-26

>我有一个 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');
//                }
//            }
//        }
    }

根据您的"输入"是什么,我假设它们是<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>

您可以在此处获得<a>标签的.innerHTML,因为开始和结束标签之间有内容......意思是里面有HTML(又名innerHTML)