Użycie "confirm" w pętli "for" |
Użycie "confirm" w pętli "for" |
10.12.2013, 14:45:37
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 10.12.2013 Ostrzeżenie: (0%) |
Witam,
bardzo proszę o pomoc, bo już wyczerpały mi się pomysły jak rozwiązać mój problem. W pętli for tworzę formularze (wybór daty i godziny wizyty u lekarza pobrane z bazy danych) i po kliknięciu "Umów" chcę, aby wyskoczył confirm z informacją "Próbujesz się umówić na wizytę $dnia o $godzinie. Czy jesteś pewien tak nie" I działa "prawie" poprawnie... Za każdym razem pobiera tylko dane z pierwszego obrotu pętli...
a JS wygląda tak:
Jakieś pomysły? |
|
|
10.12.2013, 14:54:03
Post
#2
|
|
Grupa: Zarejestrowani Postów: 279 Pomógł: 56 Dołączył: 3.06.2010 Skąd: Tarnowskie Góry Ostrzeżenie: (0%) |
Tu używasz $potwierdzenie - czyli zmiennej.
Natomiast odwołujesz się zawsze do elementu o id "potwierdzenie" Kod onClick=$("#potwierdzenie") I jeszcze jedno widzę, że id="godzina" powtarza się tyle razy ile masz iteracji. Id musi być unikatowe w obrębie dokumentu. Inaczej odwołanie następuje do pierwszego znalezionego elementu. Ten post edytował vermis 10.12.2013, 14:57:06 -------------------- |
|
|
10.12.2013, 15:35:25
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 10.12.2013 Ostrzeżenie: (0%) |
Najlepiej dodać wartość 'i' do każdego id='godzina' ? a później w JS też jest potrzebna pętla?
nie bardzo wiem jak się za to zabrać bo już próbowałam podobnie i nie działało... |
|
|
10.12.2013, 15:52:25
Post
#4
|
|
Grupa: Moderatorzy Postów: 6 070 Pomógł: 860 Dołączył: 10.12.2003 Skąd: Dąbrowa Górnicza |
W 1 dokumencie może być tylko 1 element o danym id. U Ciebie będzie ich kilka (bo w pętli tworzysz kilka takich elementów). Do tego masz błędny kod HTML. Po <tr> powinen pojawić się <td>, a nie <form>. Jak to poprawić? Powalcz, możesz zrobić 1 formularz = 1 tabelka, albo cały formularz upakować do 1 komórki <td>. Do osiągnięcia celu przyadtne będą:
- $(this).closest('form') - do dobrania się do "najbliższego" formularza, czyli tego zawierającego przycisk, w który klikasz, - $('input#godzina', formularz).val() - do pobrania pola w obrębie konkretnego formularza, a nie z całego dokumentu (gdzie formularz to element z poprzedniego punktu). |
|
|
11.12.2013, 12:32:33
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 10.12.2013 Ostrzeżenie: (0%) |
Pomogło, dziękuję Dla każdego formularza z pętli pobiera odpowiednie dane z wiersza.
i JS
Napotkałam jednak ścianę przy próbie przesłania pobranych danych, dokładnie w miejscu
Mogę liczyć na jakieś wskazówki? |
|
|
11.12.2013, 13:27:11
Post
#6
|
|
Grupa: Zarejestrowani Postów: 205 Pomógł: 43 Dołączył: 5.03.2012 Ostrzeżenie: (0%) |
Mała sugestia: nie wywołuj HTML'a przez "echo" w PHP bo to wygląda strasznie i jest kompletnie nieprawidłowe dla programów podświetlających składnię.
Nie rób tak: tylko tak: Tak samo z pętlami, możesz zrobić:
I o pomoc Ci będzie łatwiej. Cytat
Mogę liczyć na jakieś wskazówki? Znów masz odwołanie tylko do pierwszego elementu o id "potwierdzenie" ($("#potwierdzenie")). Wskazówki: Ja to robiłem w ten sposób, że elementowi, który ma przypisane zdarzenie nadawałem id w formie "nazwa_numer", np "formularz_3", "submit_3" a w JSie dzieliłem string id na dwa substringi: "submit" i "3" poprzez metodę split(); Kod wynikowy wyglądał mniej więcej tak:
|
|
|
17.12.2013, 10:17:58
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 10.12.2013 Ostrzeżenie: (0%) |
Cytat nie wywołuj HTML'a przez "echo" w PHP bo to wygląda strasznie i jest kompletnie nieprawidłowe Tak to jest nabrać złych przyzwyczajeń na początku nauki... ale dziękuję za uwagę i za pomoc w rozwiązaniu mojego problemu. |
|
|
Wersja Lo-Fi | Aktualny czas: 30.05.2024 - 23:53 |