Come posso creare un pulsante di opzione per "Altro - specifica?"
-
03-07-2019 - |
Domanda
Sto creando un modulo HTML con alcune opzioni per i pulsanti di opzione. Vorrei avere un'opzione come " Altro - specifica " e consenti all'utente di digitare qualcosa.
Due domande:
1) Come posso creare un " ibrido " tipo di input di radio / testo
?
2) Sul back-end di PHP, se l'ingresso ha lo stesso attributo name
degli ingressi radio, l'ingresso dell'utente farà parte dello stesso array?
Soluzione
# 1: All'altro " altro: " campo radio, aggiungi un < input type = " text " ... >
con visualizzazione dello stile: nessuno e visualizzalo solo quando l'utente seleziona " altro: " campo radio.
Tuttavia, non sono del tutto sicuro che il numero 2 funzioni. Otterrai rboption = other
dal pulsante di opzione E rboption = some% 20text
dal campo di testo. Uno di solito sovrascrive l'altro, ma non è sicuro di quale (leggi: dipende dalla posizione nella pagina, nel browser e nella fase della luna).
A dire il vero, rendi diverso il nome del campo di testo ed elaboralo solo quando rboption == 'altro'
(come ha detto Salty)
Altri suggerimenti
Perché non aggiungere semplicemente un attributo nome diverso all'input e convalidarlo solo se è stato selezionato il pulsante di opzione altro ?
Ecco come l'ho fatto:
<input type="radio" name="phone" value="313-375-2151">Taylor <br>
<input type="radio" name="phone" value="555-444-1234">OverheadHts <br>
<input type="radio" name="phone" value="555-333-1234">Smith Ctr <br>
<input type="radio" name="phone" value="444-344-1234">Mainsville<br>
<input type="radio" name="phone" value="other">Other:
<input type="text" name="phone-other" size="14">
E poi quando elabori il modulo:
$phone = mysql_real_escape_string( Ecco come l'ho fatto:
<input type="radio" name="phone" value="313-375-2151">Taylor <br>
<input type="radio" name="phone" value="555-444-1234">OverheadHts <br>
<input type="radio" name="phone" value="555-333-1234">Smith Ctr <br>
<input type="radio" name="phone" value="444-344-1234">Mainsville<br>
<input type="radio" name="phone" value="other">Other:
<input type="text" name="phone-other" size="14">
E poi quando elabori il modulo:
<*>
ecc.
POST['phone']);
if ($phone =='other'){
$phone = mysql_real_escape_string( Ecco come l'ho fatto:
<input type="radio" name="phone" value="313-375-2151">Taylor <br>
<input type="radio" name="phone" value="555-444-1234">OverheadHts <br>
<input type="radio" name="phone" value="555-333-1234">Smith Ctr <br>
<input type="radio" name="phone" value="444-344-1234">Mainsville<br>
<input type="radio" name="phone" value="other">Other:
<input type="text" name="phone-other" size="14">
E poi quando elabori il modulo:
<*>
ecc.
POST['phone-other']);
}
ecc.