Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: select na input
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Dex1987
Witam,

chciałbym sie dowiedziec czy jest mozliwosc zamiany (bez przeladowania strony) pola select na pole input, a doklanie jak wybiore w polu select opcje inne to zmieni mi sie na inputa (text).

Jesli tak to porosil bym o jakis prosty przyklad, albo wskazówke.

Pozdrawiam dex.
ghostrider
naprawde prosty przyklad:

  1. var textbox = "<input type=text value=''>";
  2. function doMe(elem)
  3. {
  4. if (elem.value=="other")
  5. {
  6. var div = document.getElementById("s");
  7. div.innerHTML = textbox;
  8. }
  9. }
  10. <div id=s>
  11. <select name=x onChange=doMe(this)>
  12. <option value=1> Good </option>
  13. <option value=2> No good </option>
  14. <option value=other> other </option>
  15. </select>
  16. </div>


Cytat
chciałbym sie dowiedziec czy jest mozliwosc zamiany (bez przeladowania strony) pola select na pole input, a doklanie jak wybiore w polu select opcje inne to zmieni mi sie na inputa (text).


mozliwosc jak widac jest, ale czy to dobre rozwiazanie ...
wedlug mnie nie, ale jak musisz ....
Dex1987
Dzieki wielkie, wszystko działa. A jeszcze jakbyś mógł napisać dlaczego według Ciebie jest to złym rozwiązaniem?
ghostrider
według mnie:
<złe>
- trzeba zadbac by uzytkownik mógł zmnienić zdanie i ponownie
wyswietlic <select>'a
"CO SI STALO z SELECTEM KTÓRY TU PRZED CHWILA BYL questionmark.gif"

- specyfikacje WAI www.w3c.org/wai (to obszerny temat)

- ponowny render już zaladowanej strony (przegladarki NIE musza tege robic)

</złe>

<dobre>
select + "jeśli inne to :" + pole textbox
</dobre>
Dex1987
To bedzie wykorzystywane w panelu adm i tylko czasami.

Pojawil mi sie problem z tym:

zmienna $_POST[''] jest pusta jak zmienie na inputa (jak jest select to dziala dobrze)
ghostrider
<script>
var textbox = "<input type=text value='' name=x>";

.....

brakowalao paremetru name na polu text, ale myslalem ze sie zorietujesz ..
Dex1987
Problem w tym ze sie zorientowalem i dopisalem, ale dalej nie dziala.
ghostrider
nie wiem, u mnie działa. Oczywiście dodałem <form method=post .... >
  1. <? print_r($_POST); ?>
  2. var textbox = "<input type=text value='' name=x>";
  3. function doMe(elem)
  4. {
  5. if (elem.value=="other")
  6. {
  7. var div = document.getElementById("s");
  8. div.innerHTML = textbox;
  9. }
  10. }
  11. <form name="f" method="post">
  12. <div id=s>
  13. <select name=x onChange=doMe(this)>
  14. <option value=1> Good </option>
  15. <option value=2> No good </option>
  16. <option value=other> other </option>
  17. </select>
  18. </div>
  19. <input type="submit" name="go" value="go" />
  20. </form>


i jest OK zamienia i wysyla
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.