2009-01-02 9 views
6

Tworzę formularz HTML z niektórymi opcjami opcji radiowych. Chciałbym mieć jedną opcję jako „Inny - proszę określić” i umożliwić użytkownikowi wpisać coś wJak zrobić przycisk opcji "Inne - proszę podać?"

dwa pytania:.

1) Jak mogę zrobić „hybryda” typ sygnału wejściowego radio/text?

2) Na zapleczu PHP, czy wejście ma taki sam atrybut name jak wejścia radiowe, czy wejście użytkownika będzie częścią tej samej tablicy?

+0

Jaki rodzaj formularza? HTML? –

+0

Tak - przepraszam, nie sprecyzowałem. –

Odpowiedz

6

# 1: Do pola radiowego "other:" dodaj <input type="text" ...> z wyświetlaczem stylu: brak i wyświetlaj go tylko wtedy, gdy użytkownik wybierze pole radiowe "other:".

Jednak nie jestem do końca pewien, czy # 2 zadziała. Z pola tekstowego uzyskasz rboption=other z przycisku ORAZ rboption=some%20text. Zwykle nadpisze się drugie, ale nie jest pewne, które (czytaj: zależy od pozycji na stronie, przeglądarki i fazy księżyca).
Aby mieć pewność, sprawdź nazwę textField inny i jedyny proces, kiedy rboption == 'other' (jak Słony powiedział)

+0

Cool. Dodam, że opcjonalne pole tekstowe pojawi się z Javascriptem, więc aby upewnić się, że będzie się ono pogarszało, domyślam się, że będę go wyświetlał domyślnie i ukryję go za pomocą Javascriptu, chyba że będzie to potrzebne. –

8

Dlaczego nie wystarczy dodać inny nazwa atrybut do wejścia i tylko sprawdzić, jeśli został wybrany inny przycisk radiowy ?

8

Oto jak to zrobiłem:

<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"> 

a następnie podczas przetwarzania formularza:

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

itp.

Powiązane problemy