Wie kann ich ein Optionsfeld „Andere - bitte angeben“
-
03-07-2019 - |
Frage
Ich erstelle ein HTML-Formular mit einigen Optionsfeld Optionen. Ich mag eine Option haben, wie. „Andere - bitte angeben“ und ermöglicht es dem Benutzer etwas in dem Typ
Zwei Fragen:
1) Wie kann ich einen "Hybrid" input type von radio/text
machen?
2) auf dem PHP-Backend, falls die Eingabe das gleiche name
Attribut als Funk Eingänge hat, wird die Eingabe des Benutzers eines Teil desselben Arrays sein?
Lösung
# 1: Um das „andere:“ Funkfeld, einen <input type="text" ...>
mit Stil Anzeige hinzufügen: keine und es nur angezeigt wird, wenn Benutzer das „andere“ auswählt. Funkfeld
Allerdings bin ich mir nicht ganz sicher, ob # 2 funktionieren würde. Sie würden rboption=other
aus der Radio-Button UND rboption=some%20text
aus dem Textfeld bekommen. Man wird in der Regel überschreibt die andere, aber es ist nicht sicher, welche. (Sprich: ist abhängig von Position in Seite, Browser und Mondphase)
Um sicher zu sein, stellen Sie den Textfeld Namen anders und nur verarbeiten, wenn rboption == 'other'
(wie Salty sagte)
Andere Tipps
Warum setzt nicht nur einen anderen namen Attribut mit dem Eingang und bestätigen Sie nur, wenn die andere Optionsfeld ausgewählt wird?
Hier ist, wie ich es getan hätte:
<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">
Und dann, wenn Sie verarbeiten die Form:
$phone = mysql_real_escape_string($_POST['phone']);
if ($phone =='other'){
$phone = mysql_real_escape_string($_POST['phone-other']);
}
etc.