durch onChange() neuen seitenaufruf ?
Malte
- php
hi,
habe ein dropdownmenue welches so aussieht:
<select name="zahlungsart" onChange="this.form.submit();">
<option value="bankeinzug">Bankeinzug</option>
<option value="vorkasse" >Vorkasse</option>
<option value="nachnahme">Nachnahme</option>
</select>
nun möchte ich das sobald man einen eintrag wählt, das die
entsprechenden versandskosten berechnet werden. das habe ich mir dann
unter php so vorgestellt:
if($bankeinzug){
....dann schreibe den betrag in die versandskosten...
}
allerdings weiss ich nicht genau wie ich das mache, das er beim auswählen eines eintrages die seite neu läd.
habe das mit onChange() versucht, aber mein jetziger code zeigt mir nur eine leere seite.
bin für jede hilfe dankbar
der gruss
Hallo,
weiß ich leider auch nicht, aber vorsichtige Frage, ob das wirklich gut ist. Ich bin so ein Hektiker und dazu noch leicht zittrig ;-) da pasiert es mir schon mal, daß ich bei einem dropDown erst mal daneben wähle. Wenn dann immer gleich die Aktion ausgeführt wird, nervt mich das dann immer etwas. Auch pasiert es mir schon mal, daß ich Gedankenverloren am Mausrad drehe, obwohl der Focus noch auf dem DropDown liegt. Auch dann würde sofort die Aktion ausgeführt.
Kommt danach noch ein Formularfeld, könnte man sich so auch nicht per Tastatur durchhangeln, weil beim neuladen ja der fokus wieder "oben" stehen würde.... (was zugegebenermassen bei Deiner Konstelation mein Mausradargument wieder aushebelt, der Fokus bleibt ja nicht lange drauf liegen ,-))
Chräcker
hi
habe ein dropdownmenue welches so aussieht:
<form action="namederdatei.php" method="post">
<select name="zahlungsart" onChange="this.form.submit();">
<option value="bankeinzug">Bankeinzug</option>
<option value="vorkasse" >Vorkasse</option>
<option value="nachnahme">Nachnahme</option>
</select>
</form>
if($bankeinzug){
mit
if ($_POST["zahlungsart"]=="bankeinzug"){
dürfte es besser gehen (vorausgesetzt du hasst ein <form>-Tag um <select...> s.o.)
....dann schreibe den betrag in die versandskosten...
}
habe das mit onChange() versucht, aber mein jetziger code zeigt mir nur eine leere seite.
onChange() ist nicht php sondern javascript und das wird nur ausgeführt wenn javascript aktiviert ist.
gruß
Tobias
das funktioniert. vielen dank für die info.
allerdings hab ich jetzt das problem das er immer wenn ich einen eintrag auswähle zurück auf bankeinzug(1 stelle) springt und nicht den von mir gewählten anzeigt.
gruss
hi
allerdings hab ich jetzt das problem das er immer wenn ich einen eintrag auswähle zurück auf bankeinzug(1 stelle) springt und nicht den von mir gewählten anzeigt.
Dafür musst du noch
<?php if($zahlungsart=="bankeinzug"){ echo "checked="checked""; } ?>
in jeden <option>-Tag schreiben (der einfachheithalber habe ich "$_POST["zahlungsart"]" durch "$zahlungsart" ersetzt - dafür am Anfang des Scripts noch $zahlungsart = $_POST["zahlungsart"] schreiben).
Aber der Weg ist etwas umständlich - vielleicht weiß jemand noch einen einfacheren.
gruß
Tobias