JavaScript только для чтения - PullRequest
2 голосов
/ 20 мая 2011

У меня проблема с полем JavaScript только для чтения. У меня есть текстовые поля, которые я делаю только для чтения.

 if(val == true)
{    
    ddlCnt.value=objRec.iCntId;
    tAdd1.value=objRec.sAddress1;        
    tAdd2.value=objRec.sAddress2;        
    tCity.value=objRec.sCity;
    tState.value=objRec.sState;
    tZip.value=objRec.sZip;

    //tAdd1.disabled = tAdd2.disabled = tCity.disabled = tState.disabled = tZip.disabled = ddlCnt.disabled = true;
    //tAdd1.disabled = tAdd2.disabled = tCity.disabled = tState.disabled = tZip.disabled = ddlCnt.disabled = true;
    tAdd1.setAttribute("readonly", true);
    tAdd2.setAttribute("readonly", true);
    tCity.setAttribute("readonly", true);
    tState.setAttribute("readonly", true);
    tZip.setAttribute("readonly", true);
}

Работает нормально. Теперь, чтобы отключить это свойство только для чтения, я использовал

else
{    
    tAdd1.value = tAdd2.value = tCity.value = tState.value = tZip.value = "";        
    //tAdd1.disabled = tAdd2.disabled = tCity.disabled = tState.disabled = tZip.disabled = ddlCnt.disabled = false;
    ddlCnt.value="-1";
    vsRec.innerHTML='';     
    tAdd1.setAttribute("readonly", false);
    tAdd2.setAttribute("readonly", false);
    tCity.setAttribute("readonly", false);
    tState.setAttribute("readonly", false);
    tZip.setAttribute("readonly", false);

    //vsRec.style.visibility='hidden';             
}

Но это не работает вообще. Может ли кто-нибудь помочь мне выбраться из этой проблемы или из каких-либо предложений или советов, которые могут мне сильно помочь в этом (и почему это не работает?).

Ответы [ 4 ]

6 голосов
/ 20 мая 2011

Вам необходимо удалить атрибут с помощью removeAttribute .

tAdd1.removeAttribute("readonly");
tAdd2.removeAttribute("readonly");
tCity.removeAttribute("readonly");
tState.removeAttribute("readonly");
tZip.removeAttribute("readonly");
3 голосов
/ 20 мая 2011

Наличие атрибута только для чтения приводит к тому, что поле ввода становится доступным только для чтения, не устанавливая для него значение true или false. Удалить атрибуты.

3 голосов
/ 20 мая 2011

readonly не является атрибутом истина / ложь, это атрибут присутствия / отсутствия.Вам нужно удалить атрибут, а не установить его в false.

3 голосов
/ 20 мая 2011

Вам необходимо удалить атрибут readonly, например ::10000

tAdd1.removeAttribute("readonly");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...