Torsten: Radiobutton + Textfeld

Hallo,

Ich habe eine Frage zum Thema Radiobuttons:

Ich möchte gerne ein Formular erstellen, in das man über Radiobuttons Angaben über seinen Beruf eintragen kann. Es stehen schon vorgegebene Werte vor den ersten Radiobuttons, .B. "Marketing" oder "Vertrieb". Dem letzten Radiobutton folgt ein Textfeld, in das man "Sonstiges" eintragen kann. Man kann diesen Button anklicken und in das Feld dann z.B. "arbeitslos" eintragen.

Nun stosse ich auf Probleme bei der Datenübernahme.

  • Wie kann ich den "Textfeld-Radiobutton" mit dem Textfeld verknüpfen, so dass ich diesen Button auswählen kann, etwas in das Feld eintragen und diese Daten übernehmen kann?

  • Muss das Textfeld denselben Wert bei "name" aufweisen wie die Radiobuttons? Muss überhaupt "name" vergeben werden?

Anbei ein beispielhafter Quelltext:

<input type="radio" value="Marketing" name="R1">Marketing

<input type="radio" value="Employee" name="R1">Employee

<input type="radio" name="R1">Other
<input type="text" name="R1" value="" size="15" maxlength="20">

Danke für eine Info! Ich bin schon halb verzweifelt...

mfg
Torsten

  1. Hi Torsten!

    Gib einfach den Radiobutton fuer other auch ein Value und dem Textfeld einen anderen Namen.
    In dem Script, dass dann die Ausgabe auswertet, fragest du per if(), ob $R1 das value von dem Radio fuer other hat. Falls ja, soll er einfach den Inhalt der Variablen, deren Namen dann der Name des Textfeldes ist, auslesen.

    also:

    <input type="radio" value="Marketing" name="R1">Marketing

    <input type="radio" value="Employee" name="R1">Employee

    <input type="radio" name="R1" value="other">Other
    <input type="text" name="R2" value="" size="15" maxlength="20">

    und dann das Script:

    <?
    if($R1 == "other")
    {
    hier dann das, was du mit dem inhalt des textfeld machen willst..
    }
    else
    {
    hier der Teil, falls nicht sonstiges angegeben wurde..
    }
    .
    .
    .

    so sollte es eigentlich gehen.. bin aber selbst PHP-Anfänger, also---

    MFG

    Philipp

  2. Hallo

    ...

    Nun stosse ich auf Probleme bei der Datenübernahme.

    • Wie kann ich den "Textfeld-Radiobutton" mit dem Textfeld verknüpfen, so dass ich diesen Button auswählen kann, etwas in das Feld eintragen und diese Daten übernehmen kann?

    PHP ist eine serverseitige Skriptsprache. Das Formular muß also abgeschickt werden, damit das Skript auf die Eingabe reagieren kann.

    • Muss das Textfeld denselben Wert bei "name" aufweisen wie die Radiobuttons? Muss überhaupt "name" vergeben werden?

    Siehe oben.
    Ansonsten: wenn das nur im Browser ablaufen soll kannst Du dafür JavaScript benutzen.
    Wenn Du nur mit PHP arbeiten willst, kannst Du das Formular zweistufig machen. Auf der ersten Seite hast du nur Radiobuttons, nach dem Absenden prüft das Skript, ob für $R1 eine Eingabe erfolgt ist. Ist das der Fall kann die Eingabe angezeigt werden, wurde aber nichts eingegeben, wird ein <input type="text"> angezeigt.

    Quelltext für Prüfung:
    <?php

    ...

    if (!empty($R1))  //$R1 ist nicht leer, also Eingabe ist erfolgt
    { echo $R1; }     //Anzeige der übermittelten Eingabe
    else              //ansonsten:
    { echo "<input type="text">"; }  //Eingabefeld

    Die Werte aus dem ersten Formular gibst Du im zweiten Formular über <input type="hidden"> weiter, und nach der Absendung des letzteren hast Du alle benötigten Angaben.

    Tschüß, Auge