[AJAX][JavaScript]Pobieranie wartości z dynamicznego inputa |
[AJAX][JavaScript]Pobieranie wartości z dynamicznego inputa |
24.03.2020, 01:26:39
Post
#1
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 4.11.2019 Ostrzeżenie: (0%) |
Cześć,
Tworzę inputa z treścią przez js <input name="js_test[]" class="db" type="hidden" id="1" value="mail"> <input name="js_test[]" class="db" type="hidden" id="1" value="test"> <input name="js_test[]" class="db" type="hidden" id="1" value="maks"> <input name="js_test[]" class="db" type="hidden" id="1" value="bartek"> i teraz chciałbym pobrać wszystkie wartości z tych inputów za pomocą ajax i wysłać do skryptu php
Normalnie ze zwykłego inputa pobieram to tak var n_short = document.getElementById("n_short").value; Tutaj próbuje var multiTag = document.getElementsByName("js_test[]"); i pojawia się NodeList TypeError: 'stepUp' called on an object that does not implement interface HTMLInputElement. I tutaj pojawia się pytanie jak mógłbym to przesłać ajaxem? tak żebym nie musiał modyfikować skryptu php o ile to możliwe. Ten post edytował Puchatek320 24.03.2020, 01:53:53 |
|
|
24.03.2020, 07:21:25
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Metoda getElementsByName zwraca listę węzłów (tablicę), więc musisz iterować po niej, aby zostać się do każdego elementu po kolei.
-------------------- |
|
|
24.03.2020, 16:04:53
Post
#3
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 4.11.2019 Ostrzeżenie: (0%) |
Ajaxem nie mozna przesłać całej tablicy array tak żeby to obrobić później w php?
|
|
|
24.03.2020, 16:10:18
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 455 Pomógł: 6292 Dołączył: 27.12.2004 |
Mozna, ale masz przeslac tablice wartosci z inputow a nie tablice inputow. Temu zrob jak ci powiedziano
I juz tak na marginesie if ($mysqli->query($upTags) === TRUE) ; po co dajesz tam IF ktory totalnie nic nie robi? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
24.03.2020, 16:11:26
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Można.
Wysyłasz ciąg zmiennych: js_test[]=mail&js_test[]=test&js_test[]=maks, itd. -------------------- |
|
|
24.03.2020, 17:33:27
Post
#6
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 4.11.2019 Ostrzeżenie: (0%) |
okey, iteruje po nodelist problem w tym że dalej nie wiem jak pobrać z nich value i zapisać do array tak żeby to przesłać ajaxem?
for (var i = 0; i < multiTag.length; i++) { console.log(multiTag[i]); } |
|
|
24.03.2020, 18:13:34
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Skoro multiTag[i] to konkretny element, to wartość jest pod value:
multiTag[i].value Na podstawie tych wartości tworzysz ciąg jak pokazałem Ci wyżej (podstawiając tam te wartości). Taki query string wysyłasz jako zmienne GET lub POST. -------------------- |
|
|
24.03.2020, 18:37:20
Post
#8
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 4.11.2019 Ostrzeżenie: (0%) |
Nie robię tego w prawidłowy sposób ?
zamiast value konsola pokazuje NodeList(3) [ input#1, input#2, input#3 ]
|
|
|
24.03.2020, 18:41:16
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A nie dostrzegasz różnicy jak budowałeś wcześniej pętlę, a jak obecnie?
-------------------- |
|
|
24.03.2020, 19:04:50
Post
#10
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 4.11.2019 Ostrzeżenie: (0%) |
No tak...
Pytanie jak przypisać całą tablicę do zmiennej do_wysłania?
ponieważ jeśli użyję zmiennej do_wysłania po za pętlą to wyświetla ostatni wynik co jest normalne i nie wiem jak to obejść żeby w tej zmiennej zamiast już wszystkie wyniki |
|
|
24.03.2020, 19:06:04
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Wartości do tabeli dodaje się metodą push: https://developer.mozilla.org/pl/docs/Web/J...ekty/Array/push
-------------------- |
|
|
24.03.2020, 19:08:04
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
A jeszcze lepiej
https://developer.mozilla.org/en-US/docs/Web/API/FormData -------------------- |
|
|
24.03.2020, 20:17:41
Post
#13
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 4.11.2019 Ostrzeżenie: (0%) |
Skorzystałem z pushed ale zamiast dodawać to tworzy nową tablicę za każdym razem.
pushed = multiTag.push(do_wyslania,); |
|
|
24.03.2020, 20:58:16
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Tablicę deklarujesz przed pętlą, w pętli wstawiasz do tablicy wartość każdego input z pomocą metody push.
-------------------- |
|
|
25.03.2020, 00:37:33
Post
#15
|
|
Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 4.11.2019 Ostrzeżenie: (0%) |
Dziękuje!
|
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 07:33 |