ここで私のコードシナリオは、ユーザーが追加をクリックすると、動的に1行がテーブルに追加され、javascript関数を使用しているため..htmlコードは次のようになります::
<td class="addtxt" onClick="addParameterValue('parameterFields','fieldvalue','actualdt','name','shortname','defaultvalue','secured','syncid')">Add</td>
私が呼び出す関数は以下のようなものです::
function addParameterValue(tableid,fieldvalue,actualdt,name,shortname,defaultvalue,secured,syncid)
{
var fieldname1=document.getElementById(fieldvalue).value;
var fieldValueLength = document.getElementById(fieldvalue).maxLength;
var tableRowsLength = document.getElementById(tableid).rows.length;
var textBoxesLength = tableRowsLength - 6;
var idValue = fieldvalue+1;
benIncr=tableRowsLength;
var flag = true;
flag=fieldMandatory(fieldname1);
if(flag)
{
var tbl = document.getElementById(tableid);
lastRow = tbl.rows.length;
iteration= lastRow;
var row = tbl.insertRow(lastRow);
row.className='detailsPageValue';
var absence0 = row.insertCell(0);
addTextBox(fieldvalue);
textBoxRow.id=fieldvalue+benIncr;
textBoxRow.maxLength="6"
textBoxRow.onkeyup=function(){convertLowerCaseToUpperCase(this.id)}
absence0.appendChild(textBoxRow);
var node1= document.createTextNode(' ');
absence0.appendChild(node1);
var absence1 = row.insertCell(1);
addTextBox(actualdt);
textBoxRow.id=actualdt+benIncr;
textBoxRow.readOnly=true;
absence1.appendChild(textBoxRow);
textBoxRow.className='textStyle_80';
var node2= document.createTextNode(' ');
absence1.appendChild(node1);
jqueryCalender(actualdt+benIncr);
var absence2 = row.insertCell(2);
addTextBox(name);
textBoxRow.id=name+benIncr;
absence2.appendChild(textBoxRow);
var absence3 = row.insertCell(3);
addTextBox(shortname);
textBoxRow.id=shortname+benIncr;
absence3.appendChild(textBoxRow);
var absence4 = row.insertCell(4);
addCheckBox(defaultvalue)
absence4.appendChild(checkBoxRow);
var absence5 = row.insertCell(5);
addCheckBox(secured)
absence5.appendChild(checkBoxRow);
var absence6 = row.insertCell(6);
addTextBox(syncid);
textBoxRow.id=syncid+benIncr;
textBoxRow.onblur = function(){checkNumeric(syncid+benIncr)}
absence6.appendChild(textBoxRow);
var absence7 = row.insertCell(7);
addDeleteImage();
absence7.appendChild(deleteImage);
}
else
{
alert("First Row should be added");
return false;
}
}
その下で、私は以下のような「addText」である1つの関数を呼び出しています::
function addTextBox(textboxid)
{
var txtBoxIncrement=0;
var textLength=document.getElementById(textboxid).maxLength;
var textSize=document.getElementById(textboxid).size;
var textClass=document.getElementById(textboxid).className;
textBoxRow=document.createElement('input');
textBoxRow.type='text';
textBoxRow.name=textboxid;
//textBoxRow.maxLength=textLength;
textBoxRow.size=textSize;
textBoxRow.id=textboxid+txtBoxIncrement+'';
txtBoxIncrement++;
textBoxRow.className=textClass;
}
今、主なものが来ます...ここで私は.maxLength、.size、および.classNameであるDOMメソッドを呼び出しています...これらはIE *では正常に機能しますが、クロム、サファリ、モジラFirefoxでは機能しません..
みんな私を助けてください..事前に感謝します... :)