在函數clueClicked中,我試圖從數組中拉出值並更改表的innerHTML,這在某種程度上不起作用。在控制檯上沒有錯誤。請幫忙。我正在使用<td>
的ID來更改元素的內容。document.getElementById()。innerHTML不工作,在控制檯上沒有錯誤
<!DOCTYPE html>
<html>
<head>
<title>Cross word Puzzel</title>
<style>
#puzzel {
\t width:330px;
\t margin: 0;
\t padding: 0;
\t border-collapse: collapse;
\t border: 1px solid black;
}
#cross{
\t text-align: center;
\t width:30px;
\t height:30px;
\t margin: 0;
\t padding: 0;
\t border-collapse: collapse;
\t border: 1px solid white;
}
#buttons{
\t width:30%;
\t float: right;
}
tr{
\t margin: 0;
\t padding: 0;
\t border-collapse: collapse;
}
#leftBox{
\t float: left; \t
}
#rightBox{
\t float: left;
}
.butt{
\t height:50px;
\t width: 100px;
}
#puzzel{
\t text-align: center;
}
.tableBox{
\t \t width: 30px;
\t \t height:30px;
\t \t border: 1px solid black;
\t \t text-align: center;
}
</style>
<script>
var currentTextInput;
var puzzelArrayData;
function initializeScreen(){
\t var puzzelTable = document.getElementById("puzzel");
\t puzzelArrayData = preparePuzzelArray();
\t for (var i = 0; i < puzzelArrayData.length ; i++) {
\t \t var row = puzzelTable.insertRow(-1);
\t \t var rowData = puzzelArrayData[i];
\t \t for(var j = 0 ; j < rowData.length ; j++){
\t \t \t var cell = row.insertCell(-1);
\t \t \t if(rowData[j] != 0){
\t \t \t \t var txtID = String('txt' + '_' + i + '_' + j);
\t \t \t \t cell.innerHTML = '<input type="text" class="tableBox" maxlength="1" style="text-transform: lowercase" ' + 'id="' + txtID + '" onfocus="textInputFocus(' + "'" + txtID + "'"+ ')">';
\t \t \t }else{
\t \t \t \t cell.innerHTML = "1";
\t \t \t \t cell.style.backgroundColor = "black";
\t \t \t }
\t \t }
\t }
}
function textInputFocus(txtID123){
\t currentTextInput = txtID123;
}
function preparePuzzelArray(){
var items = [ \t [0, 0, 0, 0, 'p', 0, 0, 0, 0, 0, 0],
\t \t \t \t [0, 0, 0, 0, 'u', 0, 0, 0, 0, 0, 0],
\t \t \t \t [0, 0, 0, 0, 'n', 0, 'b', 0, 0, 0, 0],
\t \t \t \t [0, 'h', 'y', 'd', 'e', 'r', 'a', 'b', 'a', 'd', 0],
\t \t \t \t [0, 0, 0, 0, 0, 0, 'n', 0, 0, 'e', 0],
\t \t \t \t [0, 0, 0, 0, 0, 0, 'g', 0, 0, 'l', 0],
\t \t \t \t [0, 0, 'm', 'u', 'm', 'b', 'a', 'i', 0, 'h', 0],
\t \t \t \t [0, 0, 0, 0, 0, 0, 'l', 0, 0, 'i', 0],
\t \t \t \t [0, 0, 0, 0, 0, 0, 'o', 0, 0, 0, 0],
\t \t \t \t ['k', 'a', 's', 'h', 'm', 'i','r', 0, 0, 0, 0],
\t \t \t \t [0, 0, 0, 0, 0, 0, 'e', 0, 0, 0, 0]
\t \t \t ];
return items;
}
function solveClicked(){
var testString = 'txt_12_15';
var tokens = testString.split('_');
alert(tokens);
}
function clearAllClicked(){
\t currentTextInput = '';
\t var puzzelTable = document.getElementById("puzzel");
\t puzzelTable.innerHTML = '';
initializeScreen();
}
function checkClicked(){
\t for (var i = 0; i < puzzelArrayData.length ; i++) {
\t \t var rowData = puzzelArrayData[i];
\t \t for(var j = 0 ; j < rowData.length ; j++){
\t \t \t if(rowData[j] != 0){
\t \t \t \t var providedValue = document.getElementById('txt' + '_' + i + '_' + j).value;
\t \t \t \t if(providedValue != puzzelArrayData[i][j]){
\t \t \t \t \t console.log('Wrong entry found: ' + providedValue + " at " + i + j);
\t \t \t \t }
\t \t \t }
\t \t }
\t }
}
function clueClicked(){
\t var temp1 = currentTextInput;
\t var token = temp1.split("_");
\t var row = token[1];
\t var column = token[2];
\t document.getElementById(temp1).innerHTML = puzzelArrayData[row][column];//here is the problem.
\t \t
\t \t
\t
}
</script>
</head>
<body onload="initializeScreen()">
<div id="leftBox">
<table id="puzzel">
</table>
</div>
<div id="rightBox">
<table>
\t <tr><td><input class="butt" type="submit" value="Clear All" onclick="clearAllClicked()"></td></tr>
\t <tr><td><input class="butt" type="submit" value="Check" onclick="checkClicked()"></td></tr>
\t <tr><td><input class="butt" type="submit" value="Solve" onclick="solveClicked()"></td></tr>
\t <tr><td><input class="butt" type="submit" value="Clue" onclick="clueClicked()"></td></tr>
</table>
</body>
</html>
是否所有的CSS都與你的問題真正相關? – nnnnnn