Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Podwójne wywołanie funkcji przy onchange
doktorek
post 3.11.2016, 10:47:19
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 26.07.2010

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


Witam

Mam kilka selektów na stronie.
Po wyborze jednego chcę aby kilka następnych było generowanych na podstawie wyboru pierwszego.

Mam taki kod funkcji, która jest odpalana po wyborze pierwszego selecta (onchange)

var lista = document.getElementById('uzytkownik');
var tekstId = parseInt(lista[lista.selectedIndex].value);
XMLHttpRequestObject.open("GET", "imie.php?id=" + tekstId);
XMLHttpRequestObject.onreadystatechange = function()
{
if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
var div = document.getElementById('pole_imie');
div.innerHTML = XMLHttpRequestObject.responseText;
}
}

XMLHttpRequestObject.send(null);
}

I teraz chciałem jednocześnie odpalić drugą taką samą funkcję ale pobierającą dane z pliku nazwisko.php i wstawiającą selekta w inne miejsce ( pole_nazwisko )
I jak zrobię tak.

  1. var lista = document.getElementById('uzytkownik');
  2. var tekstId = parseInt(lista[lista.selectedIndex].value);
  3. XMLHttpRequestObject.open("GET", "imie.php?id=" + tekstId);
  4. XMLHttpRequestObject.onreadystatechange = function()
  5. {
  6. if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
  7. var div = document.getElementById('pole_imie');
  8. div.innerHTML = XMLHttpRequestObject.responseText;
  9. }
  10. }
  11.  
  12. XMLHttpRequestObject.send(null);
  13. }
  14.  
  15.  
  16. var lista = document.getElementById('uzytkownik');
  17. var tekstId = parseInt(lista[lista.selectedIndex].value);
  18. XMLHttpRequestObject.open("GET", "nazwisko.php?id=" + tekstId);
  19. XMLHttpRequestObject.onreadystatechange = function()
  20. {
  21. if(XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
  22. var div = document.getElementById('pole_nazwisko');
  23. div.innerHTML = XMLHttpRequestObject.responseText;
  24. }
  25. }
  26.  
  27. XMLHttpRequestObject.send(null);
  28. }


To niestety zmienia mi tylko pole z nazwiskiem.
A wcześniejsze imię nie...

Ten post edytował doktorek 3.11.2016, 11:05:04
Go to the top of the page
+Quote Post
Tomplus
post 3.11.2016, 10:55:06
Post #2





Grupa: Zarejestrowani
Postów: 1 836
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


Jak wrzucasz kod, to albo do jsFiddle
albo używaj BBCODE, bo trudno odpowiedzieć na pytanie gubiąc się w chaosie znaczków.

Go to the top of the page
+Quote Post
doktorek
post 3.11.2016, 11:05:41
Post #3





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 26.07.2010

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


Cytat(Tomplus @ 3.11.2016, 10:55:06 ) *
Jak wrzucasz kod, to albo do jsFiddle
albo używaj BBCODE, bo trudno odpowiedzieć na pytanie gubiąc się w chaosie znaczków.


Racja smile.gif
Poprawione smile.gif
Dziękuję za uwagę.
Go to the top of the page
+Quote Post
Tomplus
post 3.11.2016, 14:16:36
Post #4





Grupa: Zarejestrowani
Postów: 1 836
Pomógł: 225
Dołączył: 20.03.2005
Skąd: Będzin

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


To teraz patrząc na ten kod zastanawiam się czy nie lepiej abyś wykonywał tylko jedno odwołanie do nazwy użytkownika i kierował do pliku:

imie_i_nazwisko.php
a tam wykonujesz pętle sprawdzającą czy w bazie jest użytkownik o takim imieniu lub nazwisku.

Jeżeli będzie istnieć imię to zwracasz odpowiedź o imieniu, najlepiej aby były dwa parametry np. jako JSON:
1. imię lub nazwisko
2. czy to imię, czy nazwisko


Go to the top of the page
+Quote Post
doktorek
post 3.11.2016, 18:56:31
Post #5





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 26.07.2010

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


Rozumiem...

Tylko zastanawia mnie dlaczego kiedy wywołuje ten sam kawałek kodu... nie podmienia mi pierwszego selekta tylko zawsze ostatniego...
Jak usunę drugi fragment to podmieni mi selekta z imieniem...
Go to the top of the page
+Quote Post
viking
post 3.11.2016, 20:06:22
Post #6





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


A może byś spróbował do zmiennych przypisywać obiekt XMLHttpRequestObject?


--------------------
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: 25.04.2024 - 05:08