2013-07-24 24 views
21

Wiem, że można dodać readonly="readonly" do pola wejściowego, więc nie można go edytować. Ale muszę użyć javascript do kierowania identyfikatora danych wejściowych i uczynić go tylko do odczytu, ponieważ nie mam dostępu do kodu formularza (wygenerowanego za pomocą oprogramowania marketingowego)Jak utworzyć pole tekstowe tylko z JavaScript?

Nie chcę wyłączać danych wejściowych jako danych należy zebrać po przesłaniu.

Oto strona Dodałem w poniższej sugestii bez powodzenia tej pory:

http://bit.ly/1aI1Zxn

Używaj <body onload="onLoadBody();"> dla wszystkich osób korzystających z tego w przyszłości.

+0

'element.setAttribute (" readonly "," readonly ");'? http://jsfiddle.net/DerekL/e8yCd/ –

Odpowiedz

37

można uzyskać elementu wejściowego, a następnie ustawić jego readOnly właściwość true następująco:

document.getElementById('InputFieldID').readOnly = true; 

Konkretnie, to co ty chcesz:

<script type="text/javascript"> 
    function onLoadBody() { 
    document.getElementById('control_EMAIL').readOnly = true; 
    } 
</script> 

nazywają to onLoadBody() funkcja na znacznika body jak:

<body onload="onLoadBody"> 

View Demo: jsfiddle.

+0

To naprawdę działa –

+0

Doceniam odpowiedź, ale jej działanie nie działa dla mnie - czy masz na myśli sprawdzenie: http://bit.ly/1aI1Zxn ??? – chris

+1

'@ chris' znajdź edytowaną odpowiedź, która rozwiała twój problem .. – Vijay

3
document.getElementById("").readOnly = true 
1

Spróbuj to:

document.getElementById(<element_ID>).readOnly=true; 
3
document.getElementById('TextBoxID').readOnly = true; //to enable readonly 


document.getElementById('TextBoxID').readOnly = false; //to disable readonly 
0

Tu masz przykład jak ustawić atrybut tylko do odczytu:

<form action="demo_form.asp"> 
 
    Country: <input type="text" name="country" value="Norway" readonly><br> 
 
    <input type="submit" value="Submit"> 
 
</form>

12

Powyższe odpowiedzi nie dla mnie. Poniższy robi: document.getElementById("input_field_id").setAttribute("readonly", true);

I usunąć atrybut tylko do odczytu: document.getElementById("input_field_id").removeAttribute("readonly");

I do biegania po załadowaniu strony, warto odnosząc się do here.

Powiązane problemy