Pergunta

Estou criando um formulário HTML com algumas opções de botão de rádio. Eu gostaria de ter uma opção como. "Outro - por favor especifique" e permitir que o usuário digite algo em

Duas perguntas:

1) Como posso fazer um tipo de entrada "híbrido" de radio/text?

2) No back-end PHP, se a entrada tem o mesmo atributo name como as entradas de rádio, será a entrada do usuário ser parte da mesma matriz?

Foi útil?

Solução

# 1: Para o "outro" campo de rádio, adicione um <input type="text" ...> com display style: none e só exibi-lo quando o usuário seleciona o "outro". Campo de rádio

No entanto, eu não estou totalmente certo se # 2 iria trabalhar. Você deseja obter rboption=other do botão de rádio e rboption=some%20text do campo de texto. Um geralmente substituir o outro, mas não é certo qual. (Leia-se: depende da posição na página, navegador e fase da lua)
Para ter certeza, tornar o nome campo de texto diferente e só processá-lo quando rboption == 'other' (como Salty disse)

Outras dicas

Por que não apenas adicionar um diferente nome atributo para a entrada e só validar se o outros botão de opção foi selecionada?

Aqui está como eu fiz isso:

<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 então quando você processar o formulário:

$phone = mysql_real_escape_string($_POST['phone']);
if ($phone =='other'){
  $phone = mysql_real_escape_string($_POST['phone-other']);
}

etc.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top