Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать сохранение значений списков select, Сохранение результатов select 
:(
    Опции темы
segazav
Дата 10.5.2011, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 10.5.2011

Репутация: нет
Всего: нет



Есть рабочий код динамических списков select:

Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript">
dir = new Array()

dir[1] = new Array()   
dir[1][0]=new dir_qrec("","")
dir[1][1]=new dir_qrec("Апрелевка","Апрелевка")   
dir[1][2]=new dir_qrec("Балашиха","Балашиха")   
dir[1][3]=new dir_qrec("Бронницы","Бронницы")   

dir[2] = new Array()   
dir[2][0]=new dir_qrec("","")
dir[2][1]=new dir_qrec("Арамиль","Арамиль")   
dir[2][2]=new dir_qrec("Артемовский","Артемовский")   
dir[2][3]=new dir_qrec("Асбест","Асбест")   

dir[3] = new Array()   
dir[3][0]=new dir_qrec("","")
dir[3][1]=new dir_qrec("Александровск","Александровск")   
dir[3][2]=new dir_qrec("Березники","Березники")   
dir[3][3]=new dir_qrec("Верещагино","Верещагино")

function dir_qrec(subname,subid){
    this.subname=subname
    this.subid=subid
    return this
}

function show_subs()
{
var k=document.form1.menu1.selectedIndex
var listObj=document.form1.menu2
listObj.length=0
for (var j=0; j<dir[k].length; j++)
    {
    listObj.options[j]=new Option(dir[k][j].subname)
    document.form1.menu2.options[j].value=dir[k][j].subid
    }
listObj.options[0].selected=true
}
</script>
</head>

<body>
<form name="form1" action="3.php" method="GET">
<select name="menu1" onChange="show_subs();">
<option value=""></option>
<option value="Московская область">Московская область</option>
<option value="Свердловская область">Свердловская область</option>
<option value="Пермский край">Пермский край</option>
</select>
<br>
<select name="menu2" onChange="">
<script language="JavaScript">
<!--
show_subs();
//->
</script>
</select>
<br>
<input name="search" type="submit" class="knopka" title="Найти" value="Найти">
</form>
</body>
</html>


Помогите, пожалуйста, воплотить в него следующее:

после нажатия кнопки "Найти" в форме и перезагрузки страницы (обработчиком является эта же страница) последние выбранные значения обоих списков сохранились вместо первых пустых строк списков до выбора новых значений.

 smile 

Это сообщение отредактировал(а) segazav - 10.5.2011, 20:13
PM MAIL   Вверх
_Y_
Дата 10.5.2011, 22:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: нет
Всего: 34



Вы не по адресу обратились. Здесь ветка Java, а у Вас JavaScript.

Модераторы, перенесите, пожалуйста в другую ветку.


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Котокобра
Дата 11.5.2011, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.11.2009

Репутация: нет
Всего: 4



логика такова...


Код

<form name="form1" action="3.php" method="GET" onSubmit="this.si.value=this.menu1.selectedIndex">

<input type="hidden" name="si" value="0" />

<select name="menu1" onChange="show_subs();">
<option value=""></option>
<option value="Московская область">Московская область</option>
<option value="Свердловская область">Свердловская область</option>
<option value="Пермский край">Пермский край</option>
</select>

</form>




Код

<?php

$arr = array ('', 'Московская область', 'Свердловская область', 'Пермский край');

$response = '<select name="menu1">';
for ($i=0; $i<count($arr); $i++){
    if($i==$_GET['si'])
        $response .= '<option value="'.$arr[$i].'" selected="selected">'.$arr[$i].'</option>';
    else
        $response .= '<option value="'.$arr[$i].'">'.$arr[$i].'</option>';
}
$response .= '</select>';

print $response;

?>


Это сообщение отредактировал(а) Котокобра - 11.5.2011, 17:58
PM MAIL   Вверх
segazav
Дата 12.5.2011, 06:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 10.5.2011

Репутация: нет
Всего: нет



Спасибо, сейчас попробую!!!
PM MAIL   Вверх
segazav
Дата 12.5.2011, 17:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 10.5.2011

Репутация: нет
Всего: нет



А как быть с городами?
PM MAIL   Вверх
segazav
Дата 12.5.2011, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 10.5.2011

Репутация: нет
Всего: нет



Что то я не много не понял, куда вставлять PHP код???
А так что то не сохраняются регионы!

Добавлено через 11 минут и 38 секунд
Всё теперь понял!!!

Но как все таки сохранить города???
PM MAIL   Вверх
Котокобра
Дата 13.5.2011, 04:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.11.2009

Репутация: нет
Всего: 4



как-нибудь так...

Код

<form name="form1" action="3.php" method="GET" onSubmit="this.si.value=this.menu1.selectedIndex; this.sity.value=this.menu2.selectedIndex">
<input type="hidden" name="si" value="0" />

<input type="hidden" name="sity" value="0" />

...
<script>

function show_subs( value ){
...
listObj.options[ value ].selected=true
}
</script>



Код

print '
    <select name="menu2" onChange="">
    <script language="JavaScript">
    <!--
    show_subs( ".$_GET["city"]." );
    //->
    </script>
    </select>
';

PM MAIL   Вверх
segazav
Дата 13.5.2011, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 10.5.2011

Репутация: нет
Всего: нет



Спасибо, что помогаете!!!

Я сделал так, но что то не работает - поле "город" теперь вообще пустое ...?

Код

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script language="JavaScript">
dir = new Array()

dir[1] = new Array()   
dir[1][0]=new dir_qrec("","")
dir[1][1]=new dir_qrec("Апрелевка","Апрелевка")   
dir[1][2]=new dir_qrec("Балашиха","Балашиха")   
dir[1][3]=new dir_qrec("Бронницы","Бронницы")   

dir[2] = new Array()   
dir[2][0]=new dir_qrec("","")
dir[2][1]=new dir_qrec("Арамиль","Арамиль")   
dir[2][2]=new dir_qrec("Артемовский","Артемовский")   
dir[2][3]=new dir_qrec("Асбест","Асбест")   

dir[3] = new Array()   
dir[3][0]=new dir_qrec("","")
dir[3][1]=new dir_qrec("Александровск","Александровск")   
dir[3][2]=new dir_qrec("Березники","Березники")   
dir[3][3]=new dir_qrec("Верещагино","Верещагино")

function dir_qrec(subname,subid){
    this.subname=subname
    this.subid=subid
    return this
}

function show_subs( value )
{
var k=document.form1.menu1.selectedIndex
var listObj=document.form1.menu2
listObj.length=0
for (var j=0; j<dir[k].length; j++)
    {
    listObj.options[j]=new Option(dir[k][j].subname)
    document.form1.menu2.options[j].value=dir[k][j].subid
    }
listObj.options[ value ].selected=true
}
</script>
</head>

<body>
<form name="form1" action="3.php" method="GET" onSubmit="this.si.value=this.menu1.selectedIndex; this.sity.value=this.menu2.selectedIndex">
<input type="hidden" name="si" value="0">
<?php
$arr = array ('', 'Московская область', 'Свердловская область', 'Пермский край');
$response = '<select name="menu1">';
for ($i=0; $i<count($arr); $i++){
    if($i==$_GET['si'])
        $response .= '<option value="'.$arr[$i].'" selected="selected">'.$arr[$i].'</option>';
    else
        $response .= '<option value="'.$arr[$i].'">'.$arr[$i].'</option>';
}
$response .= '</select>';
print $response;
?>
<br>
<input type="hidden" name="sity" value="0">
<?php
print '
    <select name="menu2" onChange="">
    <script language="JavaScript">
    <!--
    show_subs( ".$_GET["city"]." );
    //->
    </script>
    </select>
';
?>
<br>
<input name="search" type="submit" class="knopka" title="Найти" value="Найти">
</form>
</body>
</html>


В чём может быть ошибка???
Может я код не правильно расположил?

Это сообщение отредактировал(а) segazav - 13.5.2011, 19:53
PM MAIL   Вверх
segazav
Дата 13.5.2011, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 10.5.2011

Репутация: нет
Всего: нет



Мне кажется ошибка здесь:

Код

<?php
print '
    <select name="menu2" onChange="">
    <script language="JavaScript">
    <!--
    show_subs( ".$_GET["city"]." );
    //->
    </script>
    </select>
';
?>


Может, нужно было так:

Код

<?php
print '
    <select name="menu2" onChange="">
    <script language="JavaScript">
    <!--
    show_subs( ".$_GET[sity]." );
    //->
    </script>
    </select>
';
?>


Теперь города отображаются, но так и не сохраняются!
Как быть???

Это сообщение отредактировал(а) segazav - 13.5.2011, 20:11
PM MAIL   Вверх
Котокобра
Дата 14.5.2011, 05:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.11.2009

Репутация: нет
Всего: 4



Код

<?php
print "
    <select name="menu2" onChange="">
    <script language="JavaScript">
    <!--
    show_subs( ".$_GET["city"]." );
    //->
    </script>
    </select>
";
?>


поменял кавычки.

Это сообщение отредактировал(а) Котокобра - 14.5.2011, 05:41
PM MAIL   Вверх
segazav
Дата 14.5.2011, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 10.5.2011

Репутация: нет
Всего: нет



Теперь программа выдаёт синтаксическую ошибку в строке 3:

Код

<?php
print "
    <select name="menu2" onChange="">
    <script language="JavaScript">
    <!--
    show_subs( ".$_GET["city"]." );
    //->
    </script>
    </select>
";
?>


А так вообще нет городов в списке:

Код

<?php
print '
    <select name="menu2" onChange="">
    <script language="JavaScript">
    <!--
    show_subs( ".$_GET["sity"]." );
    //->
    </script>
    </select>
';
?>


Это сообщение отредактировал(а) segazav - 14.5.2011, 11:18
PM MAIL   Вверх
Котокобра
Дата 15.5.2011, 02:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.11.2009

Репутация: нет
Всего: 4



Код

<?php
print '
    <select name="menu2" onChange="">
    <script language="JavaScript">
    <!--
    show_subs('.$_GET['city'].');
    //->
    </script>
    </select>
';
?>


исправил кавычки

Это сообщение отредактировал(а) Котокобра - 15.5.2011, 02:13
PM MAIL   Вверх
segazav
Дата 15.5.2011, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 10.5.2011

Репутация: нет
Всего: нет



Да, все я понял ...!

Очень приятно было пообщаться с вами. 
Всего вам наилучшего ... СПАСИБО ВАМ ХОРОШИЙ ЧЕЛОВЕК!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0584 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.