Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Select i akcja
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
snipe
Ok. mam taki problem

Jak zrobic aby po wybraniu z select jakiejs liczby powiedzmy od 1 do 5 pojawiala sie odpowiednia ilosc pol tekstowych. Czyli jesli w select wybierzemy 3, to pojawia sie 3 pola tekstowe smile.gif

Pozdrawiam
shpyo
Kod
<select onChange="piszTextarea(this.value);">


Kod
function piszTextarea( ile ) {
   for(var a=0; a<ile; a++)
      document.write('<textarea></textarea><br />');
}

pisane z palca, mogą być jakieś błędy. Zarys mniej więcej masz co i jak.
snipe
shpyo dzieki, dziala smile.gif

a jak zrobic zeby select pozostawal questionmark.gif
shpyo
Trzeba gdzieś sobie zdefiniować jakiegoś diva (lub coś takiego) w którym będzie się to wyświetlało lub pokazywało.
wtedy należy zmienić tamto w for na coś takiego:
Kod
document.getElemenyById['__NAZWA_DIV_Z_TEXTAREAMi__'].innerHTML = '<textarea></textarea><br />';

Nie jestem pewny czy to będzie się wyświetlało jedno pod drugim czy też będzie się pomieniało.
snipe
sprobowalem tego co mowiles, niestety to nie dziala :/

EDIT:
zrobilem cos takiego:

Kod
<script>
function piszTextarea(ile)
{
var divy = document.getElementById('ola');
document.write('<form action="?action=add" method="post">Pytanie:<input type="text" name="pytanie"><p>Odpowiedzi:<p>');
for(var a=0; a<ile; a++)
divy.innerHTML = divy.innerHTML+'<textarea></textarea><br />';
}
</script>

<div id="ola">Ilosc odpowiedzi: <select onChange="piszTextarea(this.value);"><OPTION>Wybierz</OPTION><OPTION value=1>1</OPTION><OPTION value=2>2</OPTION><OPTION value=3>3</OPTION></SELECT></div>

Ale to nie dziala :/
Bylbym wdzieczny za szybka pomoc
shpyo
Kod
function piszTextarea( ile ) {
  for(var a=0; a<ile; a++)
     document.write('<textarea></textarea><br />');
}
function inicjujTextarea( ile ) {
     document.getElemenyById['__NAZWA_DIV_Z_TEXTAREAMi__'].innerHTML = piszTextarea( ile );
}

Wtedy select będzie wyglądał tak:
  1. <select onChange="inicjujTextarea(this.value);">

To powinno rozwiązać problem smile.gif
nospor
Nie do konca . zauwaz ze on w divie ma selecta smile.gif

Kod
<script>
function piszTextarea(ile)
{
var divy = document.getElementById('ola');
divy.innerHTML = '';
for(var a=0; a<ile; a++)
divy.innerHTML += '<textarea></textarea><br />';
}
</script>


  1. <div id="ola"></div>
  2. Ilosc odpowiedzi: <select onChange="piszTextarea(this.value);"><OPTION>Wybierz</OPTION><OPTION value=1>1</OPTION><OPTION value=2>2</OPTION><OPTION value=3>3</OPTION></SELECT>
shpyo
Kto powiedział, że pisałem pod jego konkretny przypadek tongue.gif
Pisałem w odniesieniu do mojego wcześniejszego kodu.
Swoją drogą... przecież to żaden problem dodać nowego div'a pod selectem z nową nazwą, nie? biggrin.gif
nospor
Tak, tylko ze tu mu podales nowy kod js, ktory on znajac zycie wstawilby do swego html, wktorym select jest w divie i oczywiscie po wyborze opcji, select by znikal i znowu by pisal ze mu nie dziala. Dlatego trzeba podawac i kod hml smile.gif
Sorki, ze tak nie ufam, iz autor topicu by nato wpadl, ale kieruje sie doswiadczeniem na forum, a ono pokazuje niestety to o czym mowie smile.gif

Mam nadzieje ze autor topicu nie poczuł sie urażony, napewno moja wypowiedź nie to miała na celu
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.