2012-10-22 3 views
0

다음은 이전 질문과 실제로 관련된 상황입니다.
사용자 입력 값으로 채워지는 스프레드 시트를 만들었습니다. 일단 그 값이 입력되면 사용자가 텍스트 상자에 입력하여 그 값을 추가 할 좌표를 가져올 수 있어야합니다. 어떤 사람이 입력 할 수식은이 예제에서 단순한 = SUM (1,1,2,1)로 제한됩니다. 여기 말했다되고있는 것을 내가 여기에 내가 셀 값을 결정하기 위해 입력 된 필드에서 추출 된 좌표를 사용하는 거라고에서 지금까지 동적 HTML 스프레드 시트, 하위 문자열(), 특정 값을 얻으려면 어떻게해야합니까?

function calculate() { 
    var row1; 
    var row2; 
    var col1; 
    var col2; 

    var row = document.getElementById("row"); 
    var col = document.getElementById("col"); 
    var value = document.getElementById(row + "_" + col); 
    var formula = document.getElementById("inputText"); 

    formula = formula.value; //=SUM(1,2,2,1) 
    formula1 = formula; 

    row = row.value; 
    col = col.value; 

    col1 = formula1.substr(5, 5); //row 1 
    col2 = formula1.substr(6, 8); //column 1 
    row1 = formula1.substr(7, 10); //row 2 
    row2 = formula1.substr(10, 12); // column2 
} 

을 받고, 거기에서 그들을 함께 추가하거나 덮어 쓰거나에 입력 한 내용을 그래서 새로운 세포.

그래서 기본적으로로드 블록을 사용하여 int 값을 가져 와서 좌표로 사용할 수있는 방법을 이해하려고합니다. 나는 옳은 길을 가고 있다고 생각하지만 도로 블록을 치고있다.

답변

0

좌표가 단지 0-9가 될 것이라고 확신하지 않는 한, 파싱 알고리즘을 다시 생각해 볼 수 있습니다. 귀하의 질문에

, 자바 스크립트의 정수로 문자열을 변환하는 방법이 시도 :

formula1 = "=SUM(1,2,2,1)"; 
col1 = parseInt(formula1.substr(5, 1)); 

alert(typeof(col1)); // Type is now number, not string 
alert(col1); // So you can see the value... 1 
관련 문제