Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Załadowanie do tablicy wielowymiarowej danych z kolumn w tabeli HTML
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Tomasz7755
Witam

Mam prosta tabele w HTML i chcialbym aby petla w JS przeszla po wszystkich kolumnach ,pobrała dane oraz wysłała ajaxem do pliku php

kod HTML wyglada tak :

  1. <button id="sendData">Send</button>
  2. <tr>
  3. <th>Date</th>
  4. <th>City</th>
  5. <th>City ID</th>
  6. </tr>
  7. </thead>
  8. <tr>
  9. <td class="Date">10-07-16</td>
  10. <td class="City">LA</td>
  11. <td class="CityID">525665</td>
  12. </tr>
  13. <tr>
  14. <td class="Date">11-07-16</td>
  15. <td class="City">NY</td>
  16. <td class="CityID">6545221</td>
  17. </tr>
  18. <tr>
  19. <td class="Date">12-07-16</td>
  20. <td class="City">WS</td>
  21. <td class="CityID">78526</td>
  22. </tr>
  23. </tbody>
  24. </table>


a kod JS tak:

  1.  
  2. $('#sendData').click(function()
  3. {
  4. var fArray = [];
  5.  
  6. for(var i = 0; i < $('tr').length; i++)
  7. {
  8. var date = document.getElementsByClassName('Date')[i].textContent;
  9. var city = document.getElementsByClassName('City')[i].textContent;
  10. var cityID = document.getElementsByClassName('CityID')[i].textContent;
  11.  
  12. fArray[i] = [];
  13. fArray[i]['date'] = date;
  14. fArray[i]['city'] = city;
  15. fArray[i]['cityID'] = cityID;
  16. }
  17.  
  18. $.ajax({
  19. type: 'POST',
  20. url: 'test.php',
  21. data: {data : fArray}
  22.  
  23. }).done(function(content) {
  24. alert(content)
  25.  
  26. });
  27. }); // end click



plik PHP po to proste print_r , chciałbym w alercie zobaczyc czy wszystko sie dobrze przesyła, jednak konsola wyrzuca mi ,ze

Cytat
TypeError: document.getElementsByClassName(...)[i] is undefined
<anonimowa>
test.html:46
m.event.dispatch()
jquery.min.js:3
m.event.add/r.handle()
jquery.min.js:3


46 linia w pliku html to var date = document.getElementsByClassName('Date')[i].textContent;

i nei widze tu błedu, gdy zakomentuje kod i dodam w petli alert(date) to wyswietla wszystko poprawnie. Korzystam z jquery 1.11.1 ktora jest dodana do pliku.

Ma ktos jakis pomysl na to ? albo moze lepsze rozwiazanie ,dzieki ktoremu przesle jednym kliknieciem wszystkie dane ? To bardzo wazne ,aby przeslac naraz dane z wszystkich kolumn ,przesylanie pojedynczej kolumny z danymi nie moze byc tu zastosowane .

Pozdrawiam
trueblue
$('td.Date') itd.

oraz

http://stackoverflow.com/a/16570627/5889778
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.