Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP i JavaScript] Podmienianie danych w formularzu
Forum PHP.pl > Forum > PHP
Rinkachi
Witam serdecznie wszystkich.
Budując prowizorycznego CMSa chciałbym zrobić formularz w którym można zmieniać dane, które już istniejąc w bazie danych. Wpadłem na pomysł połączenia PHP i JavaScript w taki sposób, że po wybraniu z pola SELECT odpowiedniego tematu ładuje się do pola TEXTAREA i TEXT tytuł tego tematu oraz jego zawartość (w sensie treść), jednak jako że jestem początkującym to mój sposób oczywiście nie wypalił smile.gif Czy mógłby mi ktoś doradzić w jaki sposób to zrobić? Bo raczej jest to możliwe, prawda?

W skrócie próbowałem stworzyć funkcję w JS, gdzie gdy pole SELECT jest wybrane to zmienia się zawartość pól TEXTAREA i TEXT właśnie za pomocą JS, natomiast samą zawartość tych pól dostarcza PHP prosto z wcześniej wykonanego skryptu PHP, gdzie zostają pobrane wszystkie potrzebne dane. Zapomniałem dodać, że pole SELECT jest zrobione za pomocą PHP, gdyż każde <OPTION> zostaje wybrane z bazy danych z wartością TEMAT i ID, które jest kluczem głównym i zarówno wartością VALUE w <OPTION>. Nie wiem czy to zrobiłem prawidło, ale cóż, na taki pomysł wpadłem.

Proszę o jakąś radę, może moja koncepcja jest nieprawidłowa albo coś.

Z góry dziękuje i pozdrawiam.

PS. Jeśli w moim opisie jest coś niejasnego chętnie spróbuje to sprecyzować smile.gif
robertpiaty
Nie wiem czy Cię dobrze zrozumiałem więc jakby coś to mnie popraw. Poniżej jak to można zrobić za pomocą jQuery.

  1. $(select).on('change',function(){
  2. $(text).val('tutaj treść co chcesz wstawić');
  3. $(textarea).val('tutaj treść do textarea');
  4. });


Musisz wstawić odpowiednie selektory zamiast select, text, textarea, oraz pobrać treść jaką chcesz wstawić do formularza i podmienić to co ja wpisałem w val().

Rinkachi
Dziękuje za odpowiedź.

Myślałem od jQuery, tylko nie wiedziałem jak to ugryźć, pokombinuje i w edycji odpowiem czy się udało smile.gif

Tylko może jeszcze mała podpowiedź jak wkręcić w jQuery odpowienie wartości. Tzn pasujące do wybranego TEMATU za pomocą SELECTa ?

Jeszcze może przy okazji małe pytanie odnośnie, w jaki sposób zrobić, by formularz był przetwarzany na tej stronie na której się znajduję? Trochę amatorskie pytanie, no ale próbowałem i coś nie wychodziło o ile to możliwe.
robertpiaty
Aby pobrać odpowiednie wartości masz 2 możliwości. Pierwsza to strzelić ajaxem do PHP i pobrać JSON z danymi dla konkretnej wartości selecta (http://api.jquery.com/jquery.ajax/), a druga to przy generowaniu strony od razu wygenerować obiekt JS z danymi.

  1. <select id="wybierz">
  2. <option value="var1">aaaaa</option>
  3. <option value="var2">bbbbb</option>
  4. var data = {
  5. var1:{
  6. title: 'tytul1',
  7. content: 'tresc1'
  8. },
  9. var2:{
  10. title: 'tytul2',
  11. content: 'tresc2'
  12. }
  13. };
  14. $('#wybierz').on('change', function(){
  15. var value = $(this).val();
  16. $(text).val(data[value].title);
  17. $(textarea).val(data[value].content);
  18. });
salfunglandyare
po co od razu ajax i json... do takich rzeczy...
  1. <select id="wybierz">
  2. <option value="costam1" data-text="jakis tekst" data-textarea="jakis tekst dla textarea">aaa1</option>
  3. <option value="costam2" data-text="jakis tekst2" data-textarea="jakis tekst dla textarea2">aaa2</option>
  4. <option value="costam3" data-text="jakis tekst3" data-textarea="jakis tekst dla textarea3">aaa3</option>
  5. ...

i póżniej:
  1. jQuery('#wybierz').bind('change',function(e){
  2. var option = jQuery(':selected',jQuery(this));
  3. jQuery(text).val(option.data('text'));
  4. jQuery(textarea).val(option.data('textarea'));
  5. });
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.