2012-09-19 14 views
10

Ho due campi, uno di loro è un campo di inserimento del testo e l'altro è un tag di selezione. Il fatto è che voglio che uno di essi sia abilitato solo su e che l'utente debba scegliere quale è abilitato facendo clic su uno dei pulsanti di opzione in alto.campo di input disabilitato fino a quando il pulsante di opzione è selezionato (HTML)

Quindi, se l'utente sceglie il primo pulsante di opzione, il campo di immissione verrà abilitato e se sceglierà il secondo il tag di selezione verrà abilitato.

Ecco il mio codice:

 <input type="radio" name="type" value="customurl">wanna custom url? 
     <input type="text" name="custom" placeholder="should be 5 charecters at least" > 
     <br><br> 
     <input type="radio" name="type" value="customurl">random? 
     <select name="charstype"> 
      <option>Letters</option> 
      <option>Number</option> 
     </select> 
+0

Non sarà in grado di fai questo in puro HTML. Sarà necessario integrare javascript. – andy

risposta

10

Sarà necessario usare javascript. Il modo più breve nel codice che hai dato sarebbe quello di collegare un attributo ID sia per selezionare che per inserire il campo, e disabilitarli/abilitarli dall'evento "onclick".

<input onclick="document.getElementById('custom').disabled = false; document.getElementById('charstype').disabled = true;" type="radio" name="type" checked="checked">wanna custom url? 
 
<input type="text" name="custom" id="custom" placeholder="should be 5 charecters at least" > 
 
<br><br> 
 
<input onclick="document.getElementById('custom').disabled = true; document.getElementById('charstype').disabled = false;" type="radio" name="type" value="customurl">random? 
 
<select name="charstype" id="charstype" disabled="disabled"> 
 
     <option>Letters</option> 
 
     <option>Number</option> 
 
</select>

+0

cosa fare se ho bisogno di spuntare la casella all'inizio e disabilitare 'id =" charstype "' prima dell'esecuzione dell'evento onclick –

+0

@ Mr.Shrestha usa 'disabled =" disabled "Attributo HTML per disabilitare qualsiasi input per impostazione predefinita senza eventi eseguito. Per fare in modo che la casella di controllo sia selezionata all'inizio, puoi anche usare l'attributo HTML 'checked =" checked "' – Wilq

1

ho modificato il codice per fare quello che vuoi, qui è:

<input type="radio" name="type" value="customurl" 
onclick="document.getElementById('text').removeAttribute('disabled')">wanna custom url? 
<input type="text" id="text" name="custom" 
placeholder="should be 5 charecters at least" disabled> 
<br><br> 
<input type="radio" name="type" value="customurl" 
onclick="document.getElementById('sel').removeAttribute('disabled')">random? 
<select id="sel" name="charstype" disabled> 
    <option>Letters</option> 
    <option>Number</option> 
</select>​​​​​​​​​​​ 

si può vedere funzionando here

+0

Il violino non funziona quando passi tra i pulsanti della radio – orjan