Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.12.2009, 22:30
Аспирант
Отправить личное сообщение для faiq Посмотреть профиль Найти все сообщения от faiq
 
Регистрация: 23.11.2009
Сообщений: 32

PHP и элементы формы
Здраствуйте,
Моя проблема заключается в следующем:например в php если мы хотим чтобы текствое поле ввода продолжало отображать введённую в неё информацию после нажатия на submit кнопку,мы можем просто написать код вида: <input class="text" name="balance" type="text" size="15"
value="<?php echo $balance; ?>" /> ,но как добится того же в случае с выпадающим списком вида:
<SELECT name="time[]" id="time" size=1 onChange="listchange()">
<OPTION value="">Select...</OPTION>
<OPTION value="0.3">3</OPTION>
<OPTION value="0.5">6</OPTION>
<OPTION value="0.75">9</OPTION>
<OPTION value="1">12</OPTION>
<OPTION value="1.5">18</OPTION>
<OPTION value="2">24</OPTION>
<OPTION value="3">36</OPTION>
</SELECT>
Ответить с цитированием
  #2 (permalink)  
Старый 05.12.2009, 22:50
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

Сообщение от faiq
<input class="text" name="balance" type="text" size="15"
value="<?php echo $balance; ?>" />
за register_globals надо уже давно отрывать руки
забедьте о нем, и пишите правильно, с отключенным register_globals :
<?php echo $_REQUEST['balance']; ?>

Если бы вы изначально так делали, то у вас не возник бы вопрос, так как он прояснялся одной простой функцией:
var_dump($_REQUEST);

в ней вы увидите массив $_REQUEST['time'], в котором содержатся только выбранные пункты, в индексах начиная с нулевого
то есть если выбран один пункт, то и и нндекс будет только нулевой
Ответить с цитированием
  #3 (permalink)  
Старый 06.12.2009, 07:04
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Цитата:
за register_globals надо уже давно отрывать руки
Надо, но не факт что в этом случае. Возможно faiq просто не указал кусок кода $balance = $_GET['balance']; ну или $balance = $_POST['balance'];

name="time[]" - вот это лишнее, исполюзуйте просто time, как сказал Gvozd элемент там всего один. Создавать для него массив совсем не зачем. Если бы это был список множественного выбора - тогда да.

Для сохранения выбора SELECT можно написать функцию:

function selected($value) {
    if ($value == $_GET['time']) {
        echo 'selected';
    }
}


и вставлять её в каждый OPTION

А ещё лучше загнать весь тег SELECT в строку и производить поиск и замену (str_replace)

Код:
<OPTION value="1" <?php selected(1); ?>>12</OPTION>
<OPTION value="1.5"  <?php selected(1.5); ?>>18</OPTION>
Наверняка в zend framework есть какое нибудь решение, но с ним я не знаком.

Последний раз редактировалось Tim, 06.12.2009 в 07:06.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать элементы формы недоступными Compas Общие вопросы Javascript 4 06.10.2012 21:59
load + php подгрузка формы Karandash jQuery 4 01.12.2009 13:04
Собрать значения всех полей формы vvsh Events/DOM/Window 3 09.11.2009 00:35
Снятие затемнения с экрана при получении ответа от php срипта с помощью setInterval roma86 jQuery 0 16.08.2009 12:39
javascript и php (Вопрос) Гауляйтер Общие вопросы Javascript 3 06.05.2009 09:23