Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Automatické odeslání formuláře - výběrové pole SELECT

Zdravim vsechny.
Muj problem se tyka automatickeho odeslani formulare bez SUBMIT. Na zaklade vybrane polozky (SELECT) se spusti nasledujici PHP skript.
Problem se tyka toho, ze po vyberu polozky (jednicka, dvojka nebo trojka) a automatickem submitu se v okne formulare vzdy opet objevi "vychozi" jednicka.
A ja bych byl docela rad, aby tam zustala aktualni vybrana polozka, a to do doby nez ji opet zmenim. Děkuji.

<form action="" method="post">
<select name="mnau" onchange="this.form.submit();">
<option value="1">jednicka</option>
<option value="2">dvojka</option>
<option value="3">trojka</option>
</select>
</form>

<?php
if (!isset($_POST['mnau']))
echo 'Neodesláno';
else
echo 'OK odeslal jsi: ',$_POST['mnau'],' <br> .... bude pokračovat další zpracování skriptu ....';
?>

Předmět Autor Datum
Pak musíš přigenerovat do vybrané položky atribut selected: <select name="MyFirstSelect"> <option>A…
Flash_Gordon 21.10.2008 18:39
Flash_Gordon
Po teto uprave se po kazdem vyberu a automatickem odeslani objevi ta polozka, ktera je selected, nic…
Zajic 21.10.2008 18:46
Zajic
OK, takže 3...2...1....vypínám mozek....... píšu syntakticky funkční ukázku: <? if (!isset($_POST['…
Flash_Gordon 21.10.2008 19:37
Flash_Gordon
Tak to je presne ono, diky moc za ochotu. Zajic :-)
Zajic 21.10.2008 19:58
Zajic
Len pre inšpiráciu: <? $options = array("jedna" => "jednicka", "dva" => "dvojka", "tri" => "trojka"…
los 21.10.2008 22:31
los
Velmi pěkné, taky děkuju. poslední
Zajic 22.10.2008 17:59
Zajic

OK, takže 3...2...1....vypínám mozek....... píšu syntakticky funkční ukázku:

<?
if (!isset($_POST['mnau']))
{
?>
<form action="" method="post">
<select name="mnau" onchange="this.form.submit();">
<option value="jedna">jednicka</option>
<option value="dva">dvojka</option>
<option value="tri">trojka</option>
</select>
</form>
<?
}
else
{
echo '<form action="" method="post">
<select name="mnau" onchange="this.form.submit();">';

foreach ( $_POST as $postitem ) {

switch ($postitem) {
case "jedna":
    echo '<option value="jedna" selected>jednicka</option>
<option value="dva">dvojka</option>
<option value="tri">trojka</option>';
    break;
case "dva":
echo '<option value="jedna">jednicka</option>
<option value="dva" selected>dvojka</option>
<option value="tri">trojka</option>';
        break;
case "tri":
    echo '<option value="jedna">jednicka</option>
<option value="dva">dvojka</option>
<option value="trojka" selected>trojka</option>';
    break;
default:
;
}
}
echo '</select>
</form>';
}
?>

Len pre inšpiráciu:

<? $options = array("jedna" => "jednicka", "dva" => "dvojka", "tri" => "trojka") ?>
<? $selected = isset($_POST["mnau"]) ? $_POST["mnau"] : null ?>
<form action="" method="post">
	<select name="mnau" onchange="this.form.submit()">
<? foreach ($options as $value => $name): ?>
		<option value="<?=htmlspecialchars($value)?>"<?=$value == $selected ? ' selected="selected"' : ""?>><?=htmlspecialchars($name)?></option>
<? endforeach ?>
	</select>
	<noscript><input type="submit" /></noscript>
</form>

Zpět do poradny Odpovědět na původní otázku Nahoru