0

n 行のテーブルがあり、8 番目と 9 番目のセルは編集可能なテスト フィールドです。Javascript と HTML DOM を使用して、これらのフィールドの値を抽出する必要があります。さまざまな方法を試しましたが、警告するたびに、警告の内容として   または何も表示されません。

作成ステートメントは次のとおりです。

//Input Fields
for(var i=1; i<=mmrows.length-3; i++)
{//mmrows is the source
    var input1 =document.createElement('input');
    var input2 =document.createElement('input');
    input1.setAttribute("type", "Text");
    input2.setAttribute("type", "Text");
    //input1.id='Inp1'.concat(i);// Tried to assign ID dynamically
    //input2.id='Inp2'.concat(i);
    input1.id='Inp1';
    input2.id='Inp2';
    input1.onkeypress=function(){
        return isNumberKey(arguments[0]);
    }//for validation

    var t1=document.createElement("td");
    t1.appendChild(input1);
    valrows[i+1].cells[8].appendChild(t1);  
    var t2=document.createElement("td");
    t2.appendChild(input2);

    valrows[i+1].cells[9].appendChild(t2);  
}

別の関数で値を抽出しようとしていて、次のことを試しました。

var cells=document.getElementsByTagName('td');
alert(cells.length);
alert(cells[8].innerText);
alert(cells[8].innerHTML);

alert(trim(valrows[i].cells[8].innerHTML));
alert(trim(valrows[i].cells[9].innerHTML));

var str='Inp1'.concat(i);
var str1='Inp2'.concat(i);
alert(document.getElementsById(str).value); //Dynamic ID
alert(document.getElementsById(str1).value);

var tblcells = valrows[i].cells; 
alert(tblcells);
for(var j=0; j<tblcells.length; j++)
{
    alert(tblcells[j].firstElementChild.value);
} ​

テキスト フィールドの値を取得するために必要な変更を教えてください。

4

1 に答える 1

0

私はこれを解決しました!実際、それは私自身の間違いでした。getElement(s)ByIdと言ってテキスト値にアクセスしてみました-必要ありません。

したがって、ループ変数iを使用し、同様のループでgetElementByIdを使用してアクセスすることにより、これらのテキストセルに「id」を動的に割り当てることができました。

ありがとう!

于 2012-09-26T09:00:18.460 に答える