длина текстового поля document.createElement - PullRequest
1 голос
/ 06 января 2010

Я использую следующий код для динамического добавления строк с текстовыми полями одним нажатием кнопки. У меня проблема в том, что текстовые поля, которые создаются в этих строках, не того размера, который мне нужен. Есть ли способ указать длину текстового поля в этой ситуации?

function addNewRow()
{
    var iX = document.getElementById("txtIndex").value;
    iX ++;
    document.getElementById("txtIndex").value = iX;

    var tbl = document.getElementById("tblDetail").getElementsByTagName("TBODY")[0];
    var tr = document.createElement("TR");
    tbl.appendChild(tr);

         //Text Field:  txtOffsetDateCleared1
    var tdOffsetDateCleared = document.createElement("TD");
    tr.appendChild(tdOffsetDateCleared);

    var p = document.createElement("P");
    tdOffsetDateCleared.appendChild(p);

    var txtOffsetDateCleared = document.createElement("input"); 
    p.appendChild(txtOffsetDateCleared);

    txtOffsetDateCleared.id = "txtOffsetDateCleared" + iX;

    var txtOffsetDateCleared1 = document.getElementById("txtOffsetDateCleared1");
    var i = 0;

    for (i = 0; i < txtOffsetDateCleared1.children.length; i++)
        {
            var opt = document.createElement("option");
            opt.value = txtOffsetDateCleared1 [i].value;
            opt.innerText = txtOffsetDateCleared1 [i].innerText;
            txtOffsetDateCleared.appendChild(opt);
        }
}

1 Ответ

2 голосов
/ 07 января 2010

Вы можете установить свойство width CSS или атрибут size HTML:

txtOffsetDateCleared.setAttribute('size',10); // HTML attribute
txtOffsetDateCleared.style.width = '200px';   // CSS property

Я рекомендую свойство CSS вместо атрибута HTML, поскольку последний задает ширину как количество отображаемых символов внутри текстового поля. Свойство CSS установит точную ширину элемента.

...