2014-03-25 59 views
0

您好,我試圖從html中的文本框中獲取值,並將其賦給for循環中的i,但我的程序沒有作品:我想從文本框中獲取一個值,並將其放入我的for循環中

var k = document.getElementById(「textbox1」).value;

for (var i = k; i < n; i+=4) { 
    //for (var j = 0; j < n; j+=4) { 
    pixelComponents[i ] = pixelComponents[i ] + 100; //red 
    pixelComponents[i+1] = pixelComponents[i+1]+0;  //green 
    pixelComponents[i+2] = pixelComponents[i+2]+0; //blue 
    //} 
} 

而且我嘗試這樣做,它不會太工作:

for (var i = document.getElementById("textbox1").value;; i < n; i+=4) { 
    //for (var j = 0; j < n; j+=4) { 
    pixelComponents[i ] = pixelComponents[i ] + 100; //red 
    pixelComponents[i+1] = pixelComponents[i+1]+0;  //green 
    pixelComponents[i+2] = pixelComponents[i+2]+0; //blue 
    //} 
} 
+0

wwhat爲n這裏我

回答

2

一個文本框的值是一個字符串。嘗試這樣做:

var k = parseInt(document.getElementById("textbox1").value, 10); 

有趣的是,在JavaScript上的繩子做++將其轉換爲數字,但這樣做+ = 4追加字符4:

var x = "1"; console.log(++x); 
2 

var x = "1"; console.log((x += 4)); 
14 

請注意,即使你設置一個文本框的值是一個數字,當你找回它,它再次一個字符串:

var textBox = document.getElementById("someTextBox"); 
textBox.value = 8; 
alert(textBox.value + 4); // 84, not 12 
+0

它不是一個字符串我的事:<輸入名稱=「TextBox1的」 ID =「textbox1」type =「text 「onKeyUp =」numericFilter(this);「 /> – user3045939

+1

此外,雙分號可能會導致問題。 –

相關問題