Prosiłbym o pomoc przy skonstruowaniu formularza. Po wybraniu przez użytkownika ilości sztuk z pola <select> powinna się wyświetlić dana liczba pól umożliwiająca wprowadzenie kolejnych danych.

kod html
Kod
<table>
<tr><td>Firma 1</td>
       <td><select name="ilosc1" onchange="return ileWyswietl(1)">
                            <option value="0">- 0 -</option>
                            <option value="1">- 1 -</option>
                            <option value="2">- 2 -</option>
                            <option value="3">- 3 -</option>
               </select></td>
        <td><input type="text" name="kwota1_1" size="6" value="1" style="display:none;"/>
                        <input type="text" name="kwota1_2" size="6" value="2" style="display:none;"/>
                        <input type="text" name="kwota1_3" size="6" value="3" style="display:none;"/>
        </td>
</tr>
<tr><td>Firma 2</td>
       <td><select name="ilosc2" onchange="return ileWyswietl(2)">
                            <option value="0">- 0 -</option>
                            <option value="1">- 1 -</option>
                            <option value="2">- 2 -</option>
                            <option value="3">- 3 -</option>
               </select></td>
        <td><input type="text" name="kwota2_1" size="6" value="1" style="display:none;"/>
                        <input type="text" name="kwota2_2" size="6" value="2" style="display:none;"/>
                        <input type="text" name="kwota2_3" size="6" value="3" style="display:none;"/>
        </td>
</tr>


javascript
Kod
function ileWyswietl(pole)
            {
                var form = document.forms['formularz'];
                var ile = form.ilosc.value;

                //tworzy nazwy pól
                var kwota = new Array();
                for (i=1; i<=3; i++)
                    {
                        kwota[i]= "kwota"+pole+"_"+i;
                    }



                if (ile == 0)
                {
                    form.kwota[1].style.display='none';
                    form.kwota[2].style.display='none';
                    form.kwota[3].style.display='none';        
                }
                if (ile == 1)
                {
                    form.kwota[1].style.display='block';
                    form.kwota[2].style.display='none';
                    form.kwota[3].style.display='none';
                }
                else if (ile == 2)
                {
                    form.kwota[1].style.display='block';
                    form.kwota[2].style.display='block';
                    form.kwota[3].style.display='none';
                }
                else if (ile == 3)
                {
                    form.kwota[1].style.display='block';
                    form.kwota[2].style.display='block';
                    form.kwota[3].style.display='block';
                }
    
            }
</script>


Mój problem polega na tym, że skrypt ten musi obsługiwać wiele firm. Powyższy kod niestety nie działa.

W przypadku gdy do pola odwołuję się bez użycia zmiennej
Kod
form.kwota1_1.style.display='none';
wszystko działa jak należy, lecz formularz ten będzie się składał z wielu firm i nazwa pola musi być zawarta w zmiennej.
Bardzo proszę o pomoc!

Problem rozwiązany smile.gif
A wszystko za sprawą takiego odwołania do elementu:
Kod
form[kwota[1]].style.display='none';