Сохранение select после отправки формы php

Имеется куча option в двух селектах.

/** * GeSHi (C) 2004 - 2007 Nigel McNie, 2007 - 2008 Benny Baumann * (http://qbnz.com/highlighter/ and http://geshi.org/) */ .html4strict.geshi_code {font-family:monospace;} .html4strict.geshi_code .imp {font-weight: bold; color: red;} .html4strict.geshi_code .kw2 {color: #000000; font-weight: bold;} .html4strict.geshi_code .kw3 {color: #000066;} .html4strict.geshi_code .es0 {color: #000099; font-weight: bold;} .html4strict.geshi_code .br0 {color: #66cc66;} .html4strict.geshi_code .sy0 {color: #66cc66;} .html4strict.geshi_code .st0 {color: #ff0000;} .html4strict.geshi_code .nu0 {color: #cc66cc;} .html4strict.geshi_code .sc-1 {color: #808080; font-style: italic;} .html4strict.geshi_code .sc0 {color: #00bbdd;} .html4strict.geshi_code .sc1 {color: #ddbb00;} .html4strict.geshi_code .sc2 {color: #009900;} .html4strict.geshi_code span.xtra { display:block; }

 <select name="from" value="">                                                              
        <option value="p14">1</option>
        <option value="p27">2</option>
        <option value="p20">3</option>
        <option value="p15">4</option>
        <option value="p26">5</option>
        <option value="p21">6</option>
   ...
 


Как мне сделать выбранный пункт selected'ом после отправки формы если value option'ов местами совпадает.
(p.s. делается калькулятор)

1 ответов


Итак, делается это так:

делаем скрытые input'ы после select'ов.

в select onchange="addValue('to', 'sendTo')";

далее обрабатываем в js


function addValue(input, id)
{
    var from = document.getElementById(input);
    var value = from.options[from.selectedIndex].text
   
    var valueFrom = document.getElementById(id);
    valueFrom.value = value;
}
 

форма собсна отправляется и мы имеем два значения sendTo & sendFrom, а далее


<?php if ($_POST) {echo '<option selected>'.$_POST['sendFrom'].'</option>';}?>
 

как-то так =)


Работающий пример: данные из mysql


$dm = "SELECT * FROM NUMBERLIST WHERE id>'0' and id<13 ORDER BY id ASC"; $dmd = mysql_query( $dm );
echo'<select name=mes class=post style="height:25px; width:50px;">';
while( $cels = @@mysql_fetch_array( $dmd ) )
{
if($ucfg['month']==$cels['mes']){$marker="selected";}else{$marker="";}
print"<option value='$cels[mes]' style='height:25px; width:30px;' $marker>$cels[mes]</option>";}
echo'</select>';
 
Работающий пример: данные из файла

echo'<select name=select1 class=post style="height:25px; width:25%;">';
$plines = file("system/parametr.bk"); $pmax = count($plines); $pi="0"; do {$pts = explode("|", $plines[$pi]);
if($pts[3]<>""){$ppts[3]="<OPTION value=\"$pts[3]\" $marker>$pts[3]</OPTION>";}else{$ppts[3]="";}

if($ucfg['poisk']==$pts[3]){$marker="selected";}else{$marker="";}
print "$ppts[3]\r\n"; $pi++; } while($pi < $pmax);
echo'</select>';
 


<option value="p14" <?php if($_POST['from'] == 'p14'): ?> selected <?php endif ?>>1</option>
 

ко всем остальным так же.

> если value option'ов местами совпадает.

То сервер не вообще не знает какой из пунктов выбран, так как ему передается только value