Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не меняется поле - и все тут.
 
 автор: Hamilion   (25.01.2007 в 11:23)   письмо автору
 
 

Здравствуйте.
Не знаю куда запостить в javaScript или PHP?
Почему-то не меняется месяц при выборе нового пункта в первом селекте
Вот код файла test.php:

<?
$list_month
=array(
            
"1"=>"Январь",
            
"2"=>"Февраль",
            
"3"=>"Март",
            
"4"=>"Апрель",
            
"5"=>"Май",
            
"6"=>"Июнь",
            
"7"=>"Июль",
            
"8"=>"Август",
            
"9"=>"Сентябрь",
            
"10"=>"Октябрь",
            
"11"=>"Ноябрь",
            
"12"=>"Декабрь"
            
);
echo 
"Month: ".$_GET['m_end'];
?>
<html>
<head>
    <title>Выбор</title>

        <script>
        function cng_type(value){
            document.location.href="?m_end=<?=$_GET['m_end']?>&test_sel="+value;
        }
        </script>
</head>

<body>
<form action="test.php" method="GET">
<select name="test_sel" onchange="if(this.options[this.selectedIndex].value) cng_type(this.options[this.selectedIndex].value);">
                <option value="0"<?if($_GET['test_sel']=="0")echo" selected";?>>0</option>
                <option value="1"<?if($_GET['test_sel']=="1")echo" selected";?>>1</option>
                <option value="2"<?if($_GET['test_sel']=="2")echo" selected";?>>2</option>
</select>

<select name='m_end' size='1'>
<?
for($i=1;$i<=count($list_month);$i++){
    if(
$i==($m_end)){
        echo
"<option selected value=\"$i\">".$list_month[$i]."</option>\n";
    }else{
        echo
"<option value=\"$i\">".$list_month[$i]."</option>\n";
    }
}
?>
</select>
</form>
</body>
</html>

   
 
 автор: KPETuH   (25.01.2007 в 11:41)   письмо автору
 
   для: Hamilion   (25.01.2007 в 11:23)
 

а нада поменять
if($i==($m_end)){
на
if($i==($_GET['test_sel'])){
и все работает :))

   
 
 автор: Hamilion   (25.01.2007 в 11:45)   письмо автору
 
   для: KPETuH   (25.01.2007 в 11:41)
 

Поменял, но ничего не работает (вообще-то у меня register_globals = on, так что особой роли не играет)

   
 
 автор: bronenos   (25.01.2007 в 11:54)   письмо автору
 
   для: Hamilion   (25.01.2007 в 11:45)
 

А зачем сложности? Вместо
this.options[this.selectedIndex]
поставьте просто
this.selectedIndex

   
 
 автор: Hamilion   (25.01.2007 в 11:57)   письмо автору
 
   для: bronenos   (25.01.2007 в 11:54)
 

А зачем сложности? Вместо
this.options[this.selectedIndex]
поставьте просто
this.selectedIndex

- это ничего не меняет

   
 
 автор: bronenos   (25.01.2007 в 12:00)   письмо автору
 
   для: Hamilion   (25.01.2007 в 11:45)
 

foreach ($list_month as $id=>$name) {
 $selected = ($id==$m_end) ? 'selected' : '';
 print "<option value='$id' $selected>$name</option>";
}

   
 
 автор: Hamilion   (25.01.2007 в 12:04)   письмо автору
 
   для: bronenos   (25.01.2007 в 12:00)
 


foreach ($list_month as $id=>$name) {
 $selected = ($id==$m_end) ? 'selected' : '';
 print "<option value='$id' $selected>$name</option>";
}

по сравнению с

for($i=1;$i<=count($list_month);$i++){
    if($i==($m_end)){
        echo"<option selected value=\"$i\">".$list_month[$i]."</option>\n";
    }else{
        echo"<option value=\"$i\">".$list_month[$i]."</option>\n";
    }


- то же самое (пробовал не помогает)

   
 
 автор: bronenos   (25.01.2007 в 12:06)   письмо автору
 
   для: Hamilion   (25.01.2007 в 12:04)
 

Хвастаться не хочу, но все ж это короче :)

   
 
 автор: Hamilion   (25.01.2007 в 12:15)   письмо автору
 
   для: bronenos   (25.01.2007 в 12:06)
 

Что да - то да, но почему эта хрень не работает? - вот чтоб мне хотелось выяснить.

   
 
 автор: bronenos   (25.01.2007 в 12:13)   письмо автору
 
   для: Hamilion   (25.01.2007 в 12:04)
 

Секунду, вы хотите чтоб менялся месяц, а у вас какой есть такой и ставится
<?=$_GET['m_end']?>

Ставьте тогда
document.form.m_end.selectedIndex

   
 
 автор: Hamilion   (25.01.2007 в 12:24)   письмо автору
 
   для: bronenos   (25.01.2007 в 12:13)
 

Вот так работает

document.form.m_end.selectedIndex

Респект

   
 
 автор: KPETuH   (25.01.2007 в 12:16)   письмо автору
 
   для: Hamilion   (25.01.2007 в 11:45)
 

при чем тут регистр глобалс он? если вы пытаетесь обрабатывать выбор не по той переменной? у меня все работает так как я написал!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования