dropdown mit ereigniss

Alkor

Grünschnabel
hallo,

wie kann ich einen wert aus dem drop down menu übergeben so das sich das auswahlfenster in die anweisung verwandelt?

also:

es soll eine eingabemaske für mysql werden, diese fragt den benutzer nach der anzahl der bestehenden accesspoints.
man sieht eine liste mit der auswahl 1 bis 5.
wenn man jetzt die 3 wählt soll eine anweisung erfolgen die automatisch 3 eingabefelder generiert anstelle des menus, so das der benutzer gleich nach auswahl die ip adressen hinterlegen kann.

ich hoffe ich mache kein doppelposting aber im suchen dialog war ich erfolglos.

danke für eure zeit und hilfe

alkor
 
Das Formular mit der Auswahlliste sendest Du an ein PHP-Script, welches dadurch die Anzahl der Accesspoint mitgeteilt bekommt. Danach erstellst Du in einer For-Schleife sooft den HTML-Code für ein Textfeld, wie Du es brauchst und gibst ihn wieder aus.

snuu
 
Du musst aber auf jeden Fall das Formular absenden. Wenn du mit "automatisch generiert" meinst, dass nach Auswahl eines Wertes aus dem Pulldown sofort etwas anderes da stehen soll, dann musst du mit JavaScript arbeiten (onChange)...
 
@snuu

das problem ist das die seite die die werte erhalten soll ist sie selbst:

echo "<FORM method=post action=$PHP_SELF>";

es sind ja schon vorher werte in andere eingabefelder gegeben wurde die die werte nicht verlieren dürfen nach dem man die anzahl der ap gewählt hat.
ich glaube so wie ich das möchte müssten zich if schleifen folgen.
es soll auch keine weitere seite genutz werden diese eine seite sollte so etwas können.

<form name="apwahl" method="post" action=$PHP_SELF>
<select name="ap1" >
<option value="ap1">1 AccessPoint</option>
<option value="ap2">2 AccessPoint</option>
<option value="ap3">3 AccessPoint</option>
<option value="ap4">4 AccessPoint</option>
<option value="ap5">5 AccessPoint</option>
</select>
</form>


ich kann doch prüfen ob der wert, mhm achso erst nach übergabe dessen!
gibt es echt keine lösung den wert zu übergeben ohne einen submit button, aber halt wenn ich die werte auf die selbe seite übergebe dann sollte doch gleich ne abfrage möglich sein oder?

if (isset($ap1)) {
anweisung erstellung eines eingabefeldes
{
else {
}

aber muss ich dann nicht alle prüfen lassen? 5 if anweisung?
mhm

@won_gak

ich versuche krampfhat dem onchange zu entkommen :-)
 
Um das Absenden des Formulars kommst Du nicht herum. Wie wäre es hiermit:
Dein Formular - sendet eine Steuervariable mit, die die Aktion angibt (funktion=1).
Code:
<form name="apwahl" method="post" action=$PHP_SELF>
<input type="hidden" name="funktion" value="1">
<select name="anzahl" >
<option value="1">1 AccessPoint</option>
<option value="2">2 AccessPoint</option>
<option value="3">3 AccessPoint</option>
<option value="4">4 AccessPoint</option>
<option value="5">5 AccessPoint</option>
</select>
</form>
Und hier der PHP-Code, der die Textfelder erzeugt:
PHP:
  if ($_POST['funktion'] == 1) {
    for ($x = 1; $x <= $_POST['anzahl']; $x++) {
      echo '<input type="text" ... >';
    }
  }
(beispielhaft)

P.S.: Satzanfänge und Substantive werden groß geschrieben!

snuu
 
<form name="apwahl" method="post" action='<?echo $PHP_SELF;?>'>
<input type="hidden" name="funktion" value="1">
<select name="anzahl" >
<option value="1">1 AccessPoint</option>
<option value="2">2 AccessPoint</option>
<option value="3">3 AccessPoint</option>
<option value="4">4 AccessPoint</option>
<option value="5">5 AccessPoint</option>
<INPUT type=submit value="Ok">
</select>
</form>
<?
if ($_POST['funktion'] == 1) {
for ($x = 1; $x <= $_POST['anzahl']; $x++) {
echo '<input type="text" ... >';
}
}
?>

Das ist COOL!
Ich danke dir, damit kann ich weiter machen und versuche es noch aus zu bauen.

P.S. Mensch Gott sei dank habe ich meine Shift-Tasten wieder repariert :-).
Alles Gewohnheit, hoffe doch es stört nicht all zu sehr.
Ach ja den Spruch sagte meine Deutschlehrerin auch immer, hatte nie verstanden was sie meinte :-)

Danke nochmals
 
Code:
<form name="apwahl" method="post" action='<?echo $PHP_SELF;?>'><input type="hidden" name="funktion" value="1">
<select name="anzahl"  OnChange="document.getElementById('apwahl').submit();">
<option value="1">1 AccessPoint</option>
<option value="2">2 AccessPoint</option>
<option value="3">3 AccessPoint</option>
<option value="4">4 AccessPoint</option>
<option value="5">5 AccessPoint</option>
</select>
</form>
<?
if ($_POST['funktion'] == 1) { 
for ($x = 1; $x <= $_POST['anzahl']; $x++) { 
echo '<input type="text" ... >'; 
} 
}
?>

So brauchst du keinen Submitbutton mehr. :)
 
Alkor, warum drückst du dich denn so vor der Verwendung von JavaScript? Ist doch was feines, und spart ausserdem noch Traffic.
 
@JocalAreaNetwork

Echt geil nun habe ich aber ein gravierendes prob. Die erzeugten Felder, wie kann ich die identifizieren? Also einen Namen vergeben die ich als variable weiterverarbeiten kann?
Diese Felder enthalten ja Inhalt für die mysql db. mhm

@ SilentWarrior
Weil ich davon überhaupt keine Ahnung habe und da bei 0 anfangen müsste wenn ich was machen wollte.


Thx @ all
 
Zurück