Woe bekomme ich Werte nach onChange in $_POST
Ngar
- php
Hallo,
ich habe ein Formular, in dem es Text-Eingabefelder und Drop-Down-Boxen gibt.
Klickt man in der Drop-Down-Box etwas an, wird durch onChange die Seite neu aufgebaut, da sich dann am Inhalt des Formulars einiges ändert, dabei verliere ich aber die schon in den Textfeldern eingegebenen Daten.
Gibt es eine Möglichkeit, JS dazu zu bewegen diese formulardaten in $_POST abzulegen, damit ich die auswerten kann?
Danke
Ngar
Yerf!
Gibt es eine Möglichkeit, JS dazu zu bewegen diese formulardaten in $_POST abzulegen, damit ich die auswerten kann?
Ja. Veranlasse das neu Laden der Seite im Eventhandler über ein submit() des Formulars.
Gruß,
Harlequin
Yerf!
Gibt es eine Möglichkeit, JS dazu zu bewegen diese formulardaten in $_POST abzulegen, damit ich die auswerten kann?
Ja. Veranlasse das neu Laden der Seite im Eventhandler über ein submit() des Formulars.
Gruß,
Harlequin
Das will so nicht ganz.
Das Dropdownfeld ist wie folgt definiert
<select size='1'name='software' onchange='Go(this)'>
<option value='leer'>Software hinzufügen</option>
<option value='index.php?pc_id=1&status=modified>MS Office</option>
</select>
Die JS-Funktion:
function Go (select)
{
var wert = select.options[select.options.selectedIndex].value;
if (wert == 'empty')
{
select.form.reset();
return;
} else
{
document.edit_pc.submit();
location.href = wert;
}
}
Das submit() lädt aber schon die Seite neu und daher wird meine URL nicht aufgerufen, selbige benötige ich aber noch für die nächsten Schritte.
Bisher bin ich noch auf keine Idee gekommen, die in $_GET liegenden Infos anders als mit der URL zu übergeben.
Danke
Ngar
Yerf!
Bisher bin ich noch auf keine Idee gekommen, die in $_GET liegenden Infos anders als mit der URL zu übergeben.
Bau doch in das Formular noch ein Hidden-Input ein, in den du den Wert vor dem Submit speicherst.
Gruß,
Harlequin
Bau doch in das Formular noch ein Hidden-Input ein, in den du den Wert vor dem Submit speicherst.
Nach deinem Hinweis mit dem Hidden-Input habe ich mich einmal auf selfhtml.org informiert.
Folgender Quelltext verwirrt mich total:
<html>
<head>
<title>Versteckte Elemente in Formularen definieren</title>
</head>
<body>
<h1>Feedback</h1>
<form name="Feedback" action="input_hidden.htm">
<p>
<input type="hidden" name="UserBrowser" value="">
Ihr Kommentar:<br>
<textarea name="UserKommentar" rows="2" cols="20"></textarea><br>
<input type="submit" value="senden"><br>
</p>
<script type="text/javascript">
document.Feedback.UserBrowser.value = navigator.appName;
</script>
</form>
</body>
</html>
Warum wird hier nach dem Senden an die URL in der Adresszeile der Inhalt vom hidden-input und dem Textfeld angehängt? Ich kann da nirgendwo eine Anweisung entdecken, die derartiges bewirken könnte.
mfg
Ngar
Yerf!
Warum wird hier nach dem Senden an die URL in der Adresszeile der Inhalt vom hidden-input und dem Textfeld angehängt? Ich kann da nirgendwo eine Anweisung entdecken, die derartiges bewirken könnte.
Das liegt vermutlich daran, dass das Formular kein method-Attribut hat. Dann nimmt der Browser scheinbar method="get" als Default.
Gruß,
Harlequin