2012-10-22 18 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,並在裏面你會看到錯誤顯示。那麼你不需要總是來問問你遇到的每一個問題。 :)