Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][JavaScript] Usuwanie inputa przez javascript
Forum PHP.pl > Forum > Przedszkole
webspy
Witam,
JS dla mnie to naprawdę czarna magia i nie mam pojęcia jak i co z tym zrobić.
Mam gotowy przykład z neta który po kliknięciu dodaj dodaje kolejne inputy.
Przy nich jest usuń i kiedy klikne to usuwa tą linijkę.

  1. echo '
  2. <script type="text/javascript">
  3. function addFormField() {
  4. var id = document.getElementById("id").value;
  5. $("#divTxt").append("<p id=\'row" + id + "\'> &nbsp<a href=\'#\' onClick=\'removeFormField(\"#row" + id + "\"); return false;\'>Usuń</a> <label for=\'txt" + id + "\'><input class=\'dodaj_przedmiot\' type=\'text\' name=\'nazwa_przedmiotu[]\' value=\'\' id=\'txt" + id + "\'> </label><label for=\'txt2" + id + "\'><input class=\'dodaj_nr\' type=\'text\' name=\'nr_przedmiotu[]\' value=\'\' id=\'txt" + id + "\'> </label><label for=\'txt3" + id + "\'><input class=\'dodaj_ilosc\' type=\'text\' name=\'ilosc[]\' value=\'\' id=\'txt" + id + "\'></label><p>");
  6.  
  7.  
  8. $(\'#row\' + id).highlightFade({
  9. speed:1000
  10. });
  11.  
  12. id = (id - 1) + 2;
  13. document.getElementById("id").value = id;
  14. }
  15.  
  16. function removeFormField(id) {
  17. $(id).remove();
  18. }
  19. </script>
  20. ';


Mój problem polega na tym że chciałbym je teraz edytować, stworzyłem funkcję która wyświetla tyle linijek ile było wcześniej utworzonych (inputow) i chciałbym teraz mieć przy nich taki guziczek żeby usunąć daną linijkę, i nie mogę tego zrobić w żaden sposób (w js)

Plik edycji w pętli, i tworzy tyle linijek ile wcześniej utworzyłem i zapisałem ale teraz jak usunąć daną linijkęquestionmark.gif
  1. echo '<input class="dodaj_przedmiot" type="text" name="nazwa_przedmiotu[]" value="'.$nazwa_przedmiotu[$t].'">
  2. <input class="dodaj_nr" type="text" name="nr_przedmiotu[]" value="'.$nr_przedmiotu[$t].'">
  3. <input class="dodaj_ilosc" type="text" name="ilosc[]" value="'.$ilosc[$t].'"><br><br>';




  1. <p id=\'row" + id + "\'> &nbsp<a href=\'#\' onClick=\'removeFormField(\"#row" + id + "\"); return false;\'>Usuń</a>
muszę użyć coś takiego ale jakie id i co to za #row questionmark.gif? nic nie rozumiem sad.gif


Chyba że tą całą edycję muszę zrobić w js a nie w petli foreach?? nie mam pojecia.

Mam taki mały pomysł, jeśli się nie da w js to może jest guziczek który po naciśnięciu kasuje wpisy w 3 wybranych polach?
WIem że jest tylko żeby kasowało w wybranych polach.

Wszystkie te dane łącze potem
  1. $ilosc = $_POST['ilosc'];
  2. $ilosc = implode("|^|",$ilosc);


I tu pytanko, czy jeśli pole input jest puste to żeby tego nie zapisywało do zmiennej?questionmark.gif

Poradziłem sobie smile.gif

Usuwam przez js dane z podanych inputow a nastepnie sprawdzam czy w tabeli jest pusty wpis jesli tak to go nie zapisuje.

  1. $ilosc = $_POST['ilosc'];
  2. $r = 0;
  3. foreach($ilosc as $line)
  4. {
  5. if($ilosc[$r] != "") $ilosc2[] = $ilosc[$r];
  6. $r++;
  7. }
  8. $ilosc = implode("|^|",$ilosc2);


Inaczej niż chciałem na początku ale efekt jest ten sam.
Pozdrawiam
CuteOne
np. za pomocą jQuery:
  1. <div id="inputText_1">
  2. <input type="text"> <a href="#inputText_1" class="delete">Usuń</a>
  3. </div>
  4. <div id="inputText_2">
  5. <input type="text"> <a href="#inputText_2" class="delete">Usuń</a>
  6. </div>
  7. <div id="inputText_3">
  8. <input type="text"> <a href="#inputText_3" class="delete">Usuń</a>
  9. </div>
  10.  
  11.  
  12. $(function() {
  13.  
  14. $('.delete').click(function() {
  15.  
  16. var id = $(this).attr('src');
  17.  
  18. $(id).html("").css('display', 'none');//z tym css nie jestem pewien ;)
  19.  
  20. return false;
  21. });
  22. });


To tak w uproszczeniu... możesz sobie pokombinować z tym
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.