¿Cómo puedo hacer un botón de opción para & # 8220; Otro - por favor especifique? & # 8221;
-
03-07-2019 - |
Pregunta
Estoy creando un formulario HTML con algunas opciones de botón de opción. Me gustaría tener una opción como " Otro: especifique " y permitir que el usuario escriba algo en.
Dos preguntas:
1) ¿Cómo puedo hacer un " híbrido " tipo de entrada de radio / texto
?
2) En el back-end de PHP, si la entrada tiene el mismo atributo name
que las entradas de radio, ¿la entrada del usuario será parte de la misma matriz?
Solución
# 1: al " otro: " campo de radio, agregue un < tipo de entrada = " texto " ... >
con visualización de estilo: ninguno y solo lo muestra cuando el usuario selecciona " otro: " campo de radio.
Sin embargo, no estoy completamente seguro de si el # 2 funcionaría. Obtendría rboption = other
del botón de opción Y rboption = algún% 20text
del campo de texto. Generalmente, uno sobrescribirá al otro, pero no está seguro de cuál (lea: depende de la posición en la página, el navegador y la fase de la luna).
Para estar seguro, haga que el nombre del campo de texto sea diferente y solo procéselo cuando rboption == 'other'
(como dijo Salty)
Otros consejos
¿Por qué no solo agregar un atributo nombre diferente a la entrada y validarlo solo si se ha seleccionado el botón de opción otro ?
Así es como lo hice:
<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">
Y luego cuando procesas el formulario:
$phone = mysql_real_escape_string( Así es como lo hice:
<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">
Y luego cuando procesas el formulario:
<*>
etc.
POST['phone']);
if ($phone =='other'){
$phone = mysql_real_escape_string( Así es como lo hice:
<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">
Y luego cuando procesas el formulario:
<*>
etc.
POST['phone-other']);
}
etc.