Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP i JavaScript] Podmienianie danych w formularzu
Rinkachi
post 23.05.2015, 10:37:04
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 20.05.2015

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
robertpiaty
post 23.05.2015, 11:17:59
Post #2





Grupa: Zarejestrowani
Postów: 113
Pomógł: 18
Dołączył: 7.10.2007
Skąd: Pruszków

Ostrzeżenie: (0%)
-----


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().



--------------------
Go to the top of the page
+Quote Post
Rinkachi
post 23.05.2015, 14:09:49
Post #3





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 20.05.2015

Ostrzeżenie: (0%)
-----


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.

Ten post edytował Rinkachi 23.05.2015, 14:28:00
Go to the top of the page
+Quote Post
robertpiaty
post 23.05.2015, 14:44:59
Post #4





Grupa: Zarejestrowani
Postów: 113
Pomógł: 18
Dołączył: 7.10.2007
Skąd: Pruszków

Ostrzeżenie: (0%)
-----


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. });


Ten post edytował robertpiaty 23.05.2015, 14:45:36


--------------------
Go to the top of the page
+Quote Post
salfunglandyare
post 24.05.2015, 02:51:00
Post #5





Grupa: Zarejestrowani
Postów: 150
Pomógł: 31
Dołączył: 10.01.2007
Skąd: Bydgoszcz/Inowrocław

Ostrzeżenie: (0%)
-----


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. });
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 15:44