2013-04-30 10 views
5

Chcę aktywować pole wejściowe od zaznaczenia pola wyboru.Aktywuj pole wejściowe z pola wyboru wejściowego

Mam podstawową formę tutaj:

<ul> 
<li> 
    <label id="form-title" for="name3">Specifics:</label> 
<li> 
    <textarea id="name3" name="name3" > 

    </textarea> 
</li> 

</ul> 

kliknięciu na „specyfiki i aktywuje pole Można to zrobić za pomocą tagu wejściowego zamiast Etykieta

przykład.?:

<ul> 
<li> 
    <input type="checkbox" for="name2">Other...</input> 
    <input id="name2" name="name2" /> 
</li> 
</ul> 

jsfiddle kompletnego dzieła dotąd: http://jsfiddle.net/Sederu/gaZDW/

+0

Mówisz o włączanie i wyłączanie textarea na czeku wyboru i odznacz? –

+0

W pierwszym przypadku użyłem textarea, ale w tej sytuacji potrzebuję go dla pola wejściowego (co otrzymasz, jeśli tylko ""). Zatem zaznaczasz pole "inny" i to aktywuje pole wejściowe. –

Odpowiedz

13

Do tego potrzebna jest odrobina EMCAScript.

<label for="name3"> 
    <input type="checkbox" id="name3activaitor" onclick="if(this.checked){ document.getElementById('name3').focus();}" /> 
    Other... 
</label> 
<input type="text" id="name3" name="name3" /> 

Wewnętrzny moduł obsługi sprawdza, czy pole wyboru zostało zaznaczone, a jeśli ma, ustawia ostrość w polu tekstowym. Zaznaczam pole wyboru w etykiecie, aby symultanicznie pogrupować je z etykietą, ponieważ pełni tę samą funkcję, ale możesz umieścić to pole wyboru w dowolnym miejscu.

Jeśli szukasz, aby włączyć/wyłączyć pole wejściowe, a nie tylko koncentrować się go, można zrobić tak jak

 <input type="checkbox" onclick="var input = document.getElementById('name2'); if(this.checked){ input.disabled = false; input.focus();}else{input.disabled=true;}" />Other... 
     <input id="name2" name="name2" disabled="disabled"/> 
+0

Więc nie ma sposobu, aby to zrobić za pomocą html? –

+1

Nie, atrybut for działa tylko na etykietach. –

+0

Mam pierwszy skrypt javascript do pracy, ale nie mogłem wykonać drugiego. Co robi inaczej? Co masz na myśli przez włączenie/wyłączenie? –

4

atrybut, nie istnieje dla tagu wejściowego. Dla Państwa celu użyć inline kod JavaScript i atrybut niepełnosprawnych:

<input type="checkbox" id="checkbox1" onclick="if (this.checked){ document.getElementById('textarea1').removeAttribute('disabled');}" /> 
<textarea id="textarea1" name="textarea1" disabled></textarea> 
1

Można to zrobić z małym javascript,

HTML

<ul> 
<li> 
    <input type="checkbox" id="checker" for="name2">Other...</input> 
    <input id="name2" name="name2" /> 
</li> 
</ul> 

JAVASCRIPT

document.getElementById('checker').onchange = function() { 
if(this.checked==true){ 
    document.getElementById("name2").disabled=false; 
    document.getElementById("name2").focus(); 
} 
else{ 
    document.getElementById("name2").disabled=true; 
} 
}; 

nadzieję, że pomoże

-1

wszystkich innych odpowiedzi pracują, ale ten jest prosty ::

<input type="checkbox" id="checkbox"><label class="checkbox" for="checkbox"> Remember Me! 

Objaśnienie:

  • <input określa powołanie tag.
  • type="checkbox" definiowania jest to pole.
  • id="checkbox"> identyfikowania go jako "pole wyboru".
  • <label class="checkbox" klasyfikując je jako "pole wyboru".
  • for="checkbox"> połączenia o identyfikatorze "checkbox"
  • Co zawiera napis obok pola wyboru.
Powiązane problemy