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>
<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>
{
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

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