2012-10-22 17 views
1

所以我有几个问题。我正在尝试创建一个动态电子表格,它具有插入值的功能以及(并且只需要)能够处理SUM()公式。我现在遇到的问题是插入值时。 首先让em显示JS插入的JS。 HTML表格使用ID值为1_1,1_2等。仅使用HTML + JavaScript的动态电子表格

编辑:修正了var column = document.getElementById(insert);行,但它似乎并不想提交任何插入的值。它不应该只是一个返回声明来提交对html字段的更改吗?

function insertValue() { 
    var v = document.getElementById("submitText"); 
    v = v.value; 
    var row = document.getElementById("row"); 
    row = row.value; 
    var col = document.getElementById("col"); 
    col = col.value; 

    var insert = row + "_" + col; 
    insert = insert.toString(); 
    var col = document.getElementById("col"); 

编辑::返回column.value = v; } //结束函数

当我试图接受插入变量并将其用作id值时,它会中断整个程序。我应该将插入var转换为其他字符串吗?

+1

'insert'已经是一个字符串了,所以可能没有调用'insert.toString()'的意思。 –

+0

应该是'var column = document.getElementById(insert)'?你是什​​么意思“打破整个计划”?你有错误信息吗?还是它会做出意想不到的事情? –

+0

已修复,中断问题,它只是打破了JavaScript文件,说它无法调用create table函数。由于语法错误导致的问题 – CTully12

回答

0

我认为

var column.getElementById(insert); 

应该

var column = document.getElementById(insert); 

你的代码行是无效的。

+0

谢谢!我有一种错误的倾向,就是错过这样简单的事情。 – CTully12

0
function insertValue() { 
    var v = document.getElementById("submitText"); 
    v = v.value; 
    var row = document.getElementById("row"); 
    row = row.value; 
    var col = document.getElementById("col"); 
    col = col.value; 

    var insert = row + "_" + col; 
    // Don't really think this is necessary, so probably remove it. 
    //insert = insert.toString(); 
    var column = document.getElementById(insert); // Compare this line to yours 

    column.value = v; 
} //end function 

发生错误的原因是因为您没有正确书写它。 var column.getElementById(insert);错误的语法var后面应该跟一个变量名,你可以给它分配一个初始值。

令人惊讶的是,尽管你在开始时是正确的,但后来却没有做到。

但是,下次您在JavaScript代码中发生错误时,请检查浏览器的JavaScript控制台。它可能可以打开使用F12,并在里面你会看到错误显示。那么你不需要总是来问问你遇到的每一个问题。 :)