Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] Dodawanie i usuwanie inputów
shpaque
post 12.06.2018, 10:40:42
Post #1





Grupa: Zarejestrowani
Postów: 651
Pomógł: 3
Dołączył: 31.01.2011
Skąd: Warszawa

Ostrzeżenie: (10%)
X----


Witam serdecznie,
dzisiaj borykam się z czymś, czego nigdy wcześniej nie robiłem - chcę przy każdym "row" aby była możliwość dodania następnego rowa i jego usunięcia. Konsola wywala 78 bledow typu:
  1. Uncaught SyntaxError: Invalid or unexpected token
  2. index.php:548 Uncaught ReferenceError: addMoreRows is not defined
  3. at HTMLAnchorElement.onclick


kod jest mieszany php + jquery i szczerze mówiąc już się zamotałem jak to zrobić, żeby dobrze wyszło, wygląda to tak:

  1. for ($y = 0; $y < $countLinks; $y++)
  2. {
  3. echo "
  4. <div class=\"row\" style=\"margin-top: 2px;\" id=\"rowLink".$y."\">
  5. <div class=\"col-sm-8\">
  6. <input class=\"form-control text-center\" type=\"text\" name=\"mainTitle".$x."-linkTitle".$y."\" value=\"".$c -> main[$x] -> link[$y] -> title."\" required />
  7. </div>
  8. <div class=\"col-sm-2\">
  9. <input class=\"form-control text-center\" type=\"text\" name=\"mainPage".$x."-linkPage".$y."\" value=\"".$c -> main[$x] -> link[$y] -> page."\" required />
  10. </div>
  11. <div class=\"col-sm-1\">
  12. <a href=\"java script: void(0);\" class=\"btn btn-md text-center btn-delete\" type=\"button\" style=\"width: 100%;\" onclick=\"removeRow('+rowCount+');\"><span class=\"fa fa-remove icon-md\" title=\"Usuń ten link\"></span></a>
  13. </div>
  14. <div class=\"col-sm-1\">
  15. <a class=\"btn btn-md text-center btn-add\" style=\"width: 100%;\" onclick=\"addMoreRows();\"><span class=\"fa fa-plus icon-md\" title=\"Dodaj link\"></span></a>
  16. </div>
  17. </div>
  18. ";
  19.  
  20. // Skrypt dodający i usuwający link
  21. $z = $y++;
  22. echo "
  23. <script>
  24. var rowCount = ".$y.";
  25. function addMoreRows(frm) {
  26. rowCount ++;
  27. var recRow = ' <div class=\"row\" style=\"margin-top: 2px;\" id=\"rowLink'+rowCount+'\">
  28. <div class=\"col-sm-8\">
  29. <input class=\"form-control text-center\" type=\"text\" name=\"mainTitle".$x."-linkTitle".$z."\" required />
  30. </div>
  31. <div class=\"col-sm-2\">
  32. <input class=\"form-control text-center\" type=\"text\" name=\"mainPage".$x."-linkPage".$z."\" required />
  33. </div>
  34. <div class=\"col-sm-1\">
  35. <a href=\"java script: void(0);\" onclick=\"removeRow('+rowCount+');\">Delete</a>
  36. </div>
  37. </div>';
  38.  
  39. $('#rowLink".$y."').append(recRow);
  40. }
  41.  
  42. function removeRow(removeNum) {
  43. $('#rowLink".$z."' + removeNum).remove();
  44. }
  45. </script>
  46. ";
  47.  
  48. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post 13.06.2018, 12:07:40
Post #2





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6297
Dołączył: 27.12.2004




Cytat
dlaczego nikt nie jest mi w stanie pomoc?
Nie wiem jak inni ale ja ci juz pisalem: ten kod to sieczka i sie do niczego nie nadaje. Nawet jak kiedys zadziala to padnie przy pierwszej lepszej modyfikacji. Mi osobiscie nie chce sie marnowac czasu na jego naprawianie. Dodatkowo dochodzi fakt ze masz dziwne podejscie do pomagajacych i srednio bierzesz sobie do glowy to co ci mowia...

To trzeba wywalic i napisac od nowa.
Ma byc jedna funkcja addRow() nie tworzona w petli. Ona na podstawie kliknietego guzika ma pobrac sobie dane z tego guzika i dzialac na danym wierszu. Naprawde nie ma potrzeby tworzyc wielu takich funkcji.
Guziki zas zamiast unikalnych ID maja zawierac w sobie niezbedne dane chociazby w sekcji html "data-". Funkcja addRow() pobierze sobie te dane i bedzie wiedziec co ma robic.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Posty w temacie
- shpaque   [jQuery] Dodawanie i usuwanie inputów   12.06.2018, 10:40:42
- - nospor   Masz bledy w funkcji addMoreRows() temu ta funkcja...   12.06.2018, 10:46:41
- - shpaque   ale jakos to sie da zrobic , chce caly row zrobic ...   12.06.2018, 13:30:22
- - nospor   Cytatzacznijmy od początku (mój monolog) - dlaczeg...   12.06.2018, 15:06:02
- - shpaque   ...ale kliekniete raz... to petla nadrzedna i to ...   12.06.2018, 15:15:16
- - nospor   Cytat...ale kliekniete raz... "Uwielbiam...   12.06.2018, 15:19:03
- - shpaque   to bylo w miedzyczasie dla testu - caly czas jest ...   12.06.2018, 15:30:21
- - nospor   No i jeszcze tworzysz jakis testowy kod ktory zara...   12.06.2018, 15:30:35
- - shpaque   no dobrze to wiem, ze logika sie nie zmienia, ale ...   13.06.2018, 11:59:08
- - Neutral   Czy chodzi Ci o te linie pod script? Jeśli tak, to...   13.06.2018, 12:05:33
- - nospor   Cytatdlaczego nikt nie jest mi w stanie pomoc?Nie ...   13.06.2018, 12:07:40
- - shpaque   czyli wyjsc z petli dac skrypt na sam koniec dokum...   13.06.2018, 12:15:34
- - nospor   No i wlasnie to jest to o czym mowilem. NIe slucha...   13.06.2018, 12:17:28
- - shpaque   czyli od poczatku a ma byc w tylu: [PHP] pobierz,...   13.06.2018, 12:22:26
- - nospor   Tak. Tylko do addRow() masz przekazac referencje ...   13.06.2018, 12:25:53
- - shpaque   [HTML] pobierz, plaintext <script>function a...   13.06.2018, 13:56:52
- - nospor   Cytata teraz zupelnie nie wiem co i dlaczegoWtedy ...   13.06.2018, 14:07:05
- - shpaque   ok czyli wracamy do wersji poprzedniej cos z tym ...   13.06.2018, 14:46:20
- - nospor   Przeczytaj jeszcze raz uwaznie moj poprzedni post....   13.06.2018, 14:48:54
- - shpaque   return addRow(this) - zrobiony .data() dodany oncl...   13.06.2018, 14:54:37
- - nospor   Cytatczego nie doczytalemA tego ci nie powiem bo z...   13.06.2018, 14:55:31
- - shpaque   dobra przerobilem sobie html zeby jedna para butto...   13.06.2018, 15:17:37
- - nospor   Juz ci chyba kiedys pisalem, ze rowy to mozesz kop...   13.06.2018, 15:31:24
- - shpaque   teraz musze dorobic opcje usuniecia analogicznie i...   13.06.2018, 21:14:23
- - Pyton_000   https://stackoverflow.com/questions/1887429...t-fo...   13.06.2018, 21:20:22
- - shpaque   ok zadzialalo tak [HTML] pobierz, plaintext // Sk...   14.06.2018, 10:09:02
- - Neutral   Napisz może parseInt lub parseFloat.   14.06.2018, 11:01:40
- - shpaque   nie dzialaja jak to zrobic? [HTML] pobierz, plai...   14.06.2018, 17:34:27
- - Neutral   Nie jestem pewien, ale może to pójdzie: Kodvar mai...   14.06.2018, 22:52:44
- - shpaque   wtedy dostaje tak: pierwszy generowany ma id ...   15.06.2018, 09:13:41


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: 28.04.2024 - 04:53