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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> select-ы немогу разобраться с формами, Помощь в исправлении ошибки 
:(
    Опции темы
djtwister
Дата 21.1.2012, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Здравствуйте дорогие друзья форумчане! Возникла МАААленькая Проблема:

Есть база. 
часть базы это производитель (HP, SAMSUNG и тд.) 
часть базы это их продукция (картридж, пылесос)

Если в базе производителя HP (id1) всего только 1 картридж, то форма выводится одна и все в ней ок работает.

Но если в базе производителя HP (id1) скажем 3 картриджа, то форма работает только верхняя, все остальные ... увы.

В чем ошибка, т.к. в яве ни бум-бум вообще....


Код


$even=true;
$i=1;

for ($c=0; $c<$f['kolvo']; $c++) //>

{

echo '<tr style="background-color:'.($even?"$local_080":"$local_081").'">
<td width="20" align="right">'.$i.'</td>
<td>
h
</td>
<td>



    <form name="info"> 
    <select name="segment_id" onChange="redirect(this.options.selectedIndex);" onClick="redirect(this.options.selectedIndex);"> 
    <option value="">Âûáåðèòå ñåãìåíò</option>';

if (!empty ($_GET['edit']))
{

}
else
{
$q3 = mysql_query ("SELECT * FROM cart_manufactured ORDER BY id");
for ($w=0; $w<mysql_num_rows($q3); $w++)
{
$f3 = mysql_fetch_array($q3);
$manuf = mysql_num_rows($q3);
echo '<option value="'.$f3['id'].'">'.$f3['manufactured'].'</option>';
}
}
echo '

    </select> 
    <select name="street_id" onchange="modelvalue();"> 
    <option value="">Âûáåðèòå óëèöó</option> 
    </select> 
    <script> 
    var groups=document.info.segment_id.options.length 
    var group=new Array(groups) 
    for (i=0; i<groups; i++) 
    group[i]=new Array()';
if (!empty ($_GET['edit'])) //>
{}else
{



$q4 = mysql_query ("SELECT * FROM cart_models ORDER BY id");

$m = 0;
$z = 1;
for ($x=0; $x<mysql_num_rows($q4); $x++)
{
$f4 = mysql_fetch_array($q4);
echo'
group['.$f4['id_manuf'].']['.$f4['sort'].']=new Option("'.$f4['models'].'","'.$z.'")';
$m++;
$z++;
}




}

echo '
    document.info.segment_id.index = document.info.segment_id.options[0].text; 
    var temp=document.info.street_id; 
    function redirect(x){ 
        for (m=temp.options.length-1;m>0;m--) 
        temp.options[m]=null 
        for (i=0;i<group[x].length;i++){ 
            temp.options[i]=new Option(group[x][i].text,group[x][i].value) 
        } 
        var prevalue = document.info.segment_id.value 
        var sufvalue = temp.value 
        document.revision.productid.value=(prevalue+"-"+sufvalue) 
    } 
    function modelvalue(){ 
        var prevalue2=document.info.segment_id.value 
        var sufvalue2=document.info.street_id.value 
        document.revision.productid.value=(prevalue2+"-"+sufvalue2) 
    } 
    </script> 
    <input type=submit></form>


</td></tr>


';
$i++;
$even=!$even;





в последствии вывода код получается каким:

Код


<td>



    <form name="info"> 
    <select name="segment_id" onChange="redirect(this.options.selectedIndex);" onClick="redirect(this.options.selectedIndex);"> 
    <option value="">Выберите сегмент</option>
<option value="1">HP</option>
<option value="2">Samsung</option>
<option value="3">Xerox</option>
<option value="4">Canon</option>
<option value="5">Panasonic</option>
<option value="6">Brother</option>

    </select> 
    <select name="street_id" onchange="modelvalue();"> 
    <option value="">Выберите улицу</option> 
    </select> 
    <script> 
    var groups=document.info.segment_id.options.length 
    var group=new Array(groups) 
    for (i=0; i<groups; i++) 
    group[i]=new Array()
group[1][0]=new Option("Q2612A","1")
group[1][1]=new Option("Q2610A","2")
group[2][0]=new Option("D104S","3")
group[2][1]=new Option("D104L","4")
group[3][0]=new Option("3117","5")
    document.info.segment_id.index = document.info.segment_id.options[0].text; 
    var temp=document.info.street_id; 
    function redirect(x){ 
        for (m=temp.options.length-1;m>0;m--) 
        temp.options[m]=null 
        for (i=0;i<group[x].length;i++){ 
            temp.options[i]=new Option(group[x][i].text,group[x][i].value) 
        } 
        var prevalue = document.info.segment_id.value 
        var sufvalue = temp.value 
        document.revision.productid.value=(prevalue+"-"+sufvalue) 
    } 
    function modelvalue(){ 
        var prevalue2=document.info.segment_id.value 
        var sufvalue2=document.info.street_id.value 
        document.revision.productid.value=(prevalue2+"-"+sufvalue2) 
    } 
    </script> 
    <input type=submit></form>


</td>



PM MAIL   Вверх
mstalker26
Дата 21.1.2012, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



--------------------
Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
PM   Вверх
djtwister
Дата 21.1.2012, 18:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Именно поэтому и написал ни БУМ БУМ
PM MAIL   Вверх
Fynivx
Дата 22.1.2012, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Прикольно - код PHP, подсвечен, как Java, а вопрос в JavaScript   smile

Кажется, проблема в том, что у всех форм поля с одинаковыми id, и функции работают только с ними, в связи с чем - только с первым полем, по указанному id.

Добавьте в id номер итерации, и функции вызывайте с параметром - объектом, который нужно обработать или его id.
---------
А вообще генерить JavaScript в PHP - это сильно  smile 

Это сообщение отредактировал(а) Fynivx - 22.1.2012, 01:12
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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