Hallo Freunde,
habe ein Problem, daß mir schon den ganzen Tag Kopfschmerzen bereitet. Habe ein Formular mit Eingabefeldern und radio-buttons. Das Problem ist, daß sobald ein Radio angeclickt wird, soll die Seite erneut geladen werden, weil dadurch noch optionale Felder sichtbar werden sollen.
So wie es aussieht geht das nur mit Javascript, ich kriegs leider nicht hin. Das Problem ist ja daß PHP Serverseitig verarbeitet wird, Javascript Clientseitig. Wie kriege ich Javascript dazu das Formular an den Server zur weiteren Verarbeitung zu schicken. Hab schon einiges probiert, aber nichts will funktionieren.
<?
if (!isset($_POST['radio'])) $_POST['radio'] = 0;
if( isset( $_POST['submit']))
{
tu was!!!!!!
}
?>
<html>
<body>
<form name="eingabe" action="<? echo $_SERVER['PHP_SELF'] ?>" method="post" >
<tr>
<td>feld1: </td>
<td><input type="text" name="feld1" size="20" value="<? echo $_POST['feld1'] ?>"> </td>
</tr>
<tr>
<td>Typ: </td>
<td><input type="radio" name="radio" value="0" <? if ($_POST['radio'] == 0) echo "checked" ?>">Wert1 <input type="radio" name="radio" <? if ($_POST['radio'] == 1)echo "checked" ?> value="1">Wert2 </td>
</tr>
<?
if($_POST['radio'] == 1)
{
echo "<tr><td>feld2: </td>";
echo "<td><input type='text' name='feld2' size='20' value='".$_POST['feld2']."' > </td></tr>";
}
?>
</table>
<input type="submit" name="submit" value="senden">
</form>
</body>
</html>
So, wenn ich das 2 Radio anclicke und dann unten mit submit das Formular erneut lade, bleibt das 2 Radio "checked", und das optionale Feld erscheint.
Das ist aber nicht der Sinn und Zweck der Übung, da das anclicken eines Radios als Event abgefangen werden soll, das Formular neu geladen werden soll, und die bereits vorhandenen Daten erhalten bleiben sollen.
Nach langem Suchen, bin ich auf Javascript gestoßen, nämlich in etwa so:
<input .......... onClick="window.location.reload()">
was allerdings bewirkt, daß die Variablen verloren sind,
in einem Forum habe ich was gefunden, das auch funktionieren soll, nämlich:
<input .......... onClick="document.eingabe.Submit()">
das funktioniert nicht, kriege einen Js-Fehler, nämlich daß das Objekt die Aktion/Methode nicht unterstützt.
<input .......... onClick="history.go(0)">,
etc.
Weiß jemand von Euch eine Lösung?
Wäre für jede Hilfe dankbar.
Gruß
Gaucho