PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Elegantere Methode bei Form-Auswahl (https://www.php-resource.de/forum/php-developer-forum/51838-elegantere-methode-bei-form-auswahl.html)

masteryoda 14-03-2005 10:06

Elegantere Methode bei Form-Auswahl
 
Hallo,

ich würde den Usern gerne eine elegantere Methode anbieten, aus einem Dropdown-Feld eine Option auszuwählen. Momentan müssen sie Ihre Auswahl mit einem OK Button bestätigen, es wird die Seite neu geladen und der Option-Wert in die Variable übergeben:

PHP-Code:

<form name="Auswahl" ACTION="emailform.php" METHOD="POST">
         <select size="1" name="art">
          <option value="">Bitte Auswahl treffen...</option>
          <option value="Office 2003"><?php echo $office?></option>
          <option value="Servicetechniker Grundlage"><?php echo $servicetechniker1?></option>
          <option value="Servicetechniker Aufbau"><?php echo $servicetechniker2?></option>
          <option value="Vertriebsleiter Grundlage"><?php echo $vertriebsleiter1?></option>
          <option value="Vertriebsleiter Aufbau"><?php echo $vertriebsleiter2?></option>
          <option value="Serviceleiter Grundlage"><?php echo $serviceleiter1?></option>
          <option value="Serviceleiter Aufbau"><?php echo $serviceleiter2?></option>
       </select><input type="submit" value="OK">
</form>

ich würde das gerne "dynamisch" gestalten, also diesen OK Button wegfallen lassen. Könnt ihr mir mal auf die Sprünge helfen?

gruß

supastah 14-03-2005 10:22

du kannst in die options tags ein "onClick" einbauen, und das dann demenstprchend verarbeiten. allerdings müssen deine besucher dann javascript aktiviert haben.

asp2php 14-03-2005 11:06

besser onChange, da bei onKlick beim Auswählen schon ausgelöst wird, und der User hat noch garnicht gewählt ;) Denn Button würde ich aber dennoch da stehen lassen, falls der User JS deaktiviert hat, kann er immer noch manuell aktualisieren.

masteryoda 14-03-2005 11:28

also wie muss ich das umschreiben? :confused:


<SELECT ONCHANGE="location = this.options[this.selectedIndex].value;">

^^ Ist aus einem Beispiel...

asp2php 14-03-2005 11:33

nope, onchange="this.form.submit();"

supastah 14-03-2005 11:39

oh, ich meinte auch onChange.
hatte das nicht mehr so genau in Erinnerung weil ich javascript, wenn möglich nie verwende. :)

masteryoda 14-03-2005 12:59

Vielen Dank, hat wunderbar geklappt :D

goth 14-03-2005 13:14

Zitat:

Original geschrieben von asp2php
besser onChange, da bei onKlick beim Auswählen schon ausgelöst wird, und der User hat noch garnicht gewählt ;) Denn Button würde ich aber dennoch da stehen lassen, falls der User JS deaktiviert hat, kann er immer noch manuell aktualisieren.
Viel schicker: den Button in <noscript> Tags ... !

masteryoda 15-03-2005 14:03

noch eine kleine Frage dazu:


könnte man es so einrichten das die Auswahl der Select-Box erhalten bleibt beim "onchange"? Das Feld springt im Moment auf den ersten Eintrag zurück..


mfg

asp2php 15-03-2005 14:17

ja, bei der Ausgabe von option-Werte vergleichst du mit selektiertem Wert und setzst ihn bei Bedarf als selected.

masteryoda 15-03-2005 15:04

öhhhhhhhhhhhh

ich kenn nur <option selected=...>, könntest du dich bitte etwas präziser ausdrücken :confused: , bin dir echt dankbar!

asp2php 15-03-2005 15:29

z.B.
PHP-Code:

....
<option value="Office 2003"<?php
if ($_POST['art'] == 'Office 2003') echo ' selected'?> >
<?php echo $office?></option>
...

btw. wo kommen denn die Werte für value her? Wenn aus der DB dann sollst du dich mal mit Schleifen beschäftigen.

masteryoda 15-03-2005 15:56

ich muss dir nochmal grosses Lob aussprechen, klappt auf Anhieb!

PS: Die Values sind fest, nur die Ausgabe liest er aus einer MySQL-DB.

Bin schon ganz glücklich soweit gekommen zu sein, ist schliesslich mein erstes "grösseres" Programmiervorhaben!

Danke, und schönen Tag

asp2php 15-03-2005 16:12

wo ist denn der Unterschied zwischen values und sichtbaren Werte? Warum nicht beide gleich? Dann kannst du sowas machen:
PHP-Code:

$db mysql_connect...
mysql_select_db...
$sql = ....
$res mysql_query...
$strSelected = (isset($_POST['art']) ? $_POST['art'] : '';
echo 
"<select name=\"art\">\n";
while (
$row mysql_fetch_array($res) {
   echo 
'<option value="'.$row['colname'].'"';
   if (
$row['colname']==$strSelected
      echo 
' selected';
   echo 
'>'.htmlentities($row['colname'])."</option>\n";
}
echo 
"</select>\n";
... 


masteryoda 16-03-2005 11:07

das ist mir Momentan noch etwas zu kompliziert ausserdem muss das dingens bald laufen :)

werde mich da aber reinknien, vielen Dank!


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:28 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG