Formularz tablica i zapisywanie w polu tylko pierwszego elementuy tablicy

0

Mam taki problem mam sobie formularz html i w nim przycisk do dodawania kolejnych pól do formularza i potem zapisywania wyświrtlania ich w skrypcie php problem w tym, że tylko pierwszy element tablicy jest wyświetlany

 <tr>
            <td class="center">
                Słowa kluczowe co robiłem
                
            </td>
            
            <td class="center">
                <table id="what_work" width="100%">
                   
                    <tr>
                         <div class='t'>
                        <td>
                <input type="text" name="what_work[]" class="form-control typeMood">
                    </td>
                           <td>
                 <a onclick="addWorld()" class="btn btn-info btn-lg">
          <span class="glyphicon glyphicon-plus"></span>  
        </a>
            </td>
            </div>
                    </tr>

                </table>
                
            </td>
            
            
     
        </tr>

js

function addWorld() {
    $("#what_work").append("<tr><td class='center'><input type='text' name='what_work[]' class='form-control typeMood'></td></tr>");
}

php

var_dump(Input::get("what_work"));

Dodam, że jeśli na żywca wklepie dwa razy w html <input type="text" name="what_work[]" class="form-control typeMood"><input type="text" name="what_work[]" class="form-control typeMood"> to wtedy dobrze działa i te dwa drukuje.

0

Nie znam jquery, ale wygląda na to, że do elementu złapanego na podstawie id what_work dodajesz po prostu stringa "<tr><td class='center'>(...)</td></tr>.
Więc gdzie tu jakaś tablica?

0

Chodzi o to

name='what_work[]'

To jest tablica.

0
pol90 napisał(a):

Chodzi o to

name='what_work[]'

To jest tablica.

E... bardzo wątpię, żeby nawet jquery coś takiego przetworzył. Ale nawet gdyby przetworzył, to dostałbyś tam jeden element z czymś takim:

name='pozycja1,pozycja2,pozycja3'

0

Ale to jest wysyłane nie przez ajax tylko przez czystego htmla.

0
pol90 napisał(a):

Ale to jest wysyłane nie przez ajax tylko przez czystego htmla.

Ale co w ogóle jaki ajax? Samo dopisywanie pozycji jest najwidoczniej błędne. Jquery (o ile pamiętam) faktycznie pozwala pojedynczym poleceniem operować na całych tablicach, ale raczej nie z taką składnią.

0

Zobacz jak generuje się HTML po tym dodaniu wiersza. Nie wiem czy nie powinieneś pobierać ostatniego wiersza tabeli i do niego dodawać następny wiersz.

0
jurek1980 napisał(a):

Zobacz jak generuje się HTML po tym dodaniu wiersza. Nie wiem czy nie powinieneś pobierać ostatniego wiersza tabeli i do niego dodawać następny wiersz.

A jak to powinno wyglądać ?

0

Nie pytaj się mnie jak powinienem wyglądać Twój HTML.
Zobacz czy ten dodawany wiersz nie wychodzi Ci np. poza tabelę.

0

Nie na 100% nie.

1

Dobra, to może zacznij od czegoś prostszego i napisz skrypt, który wyświetli ci w konsoli kolejne pozycje z tabeli.

0

Może pokaż kod, który odpowiada za przesyłanie tego do skryptu php. Bo nie jesteśmy wróżkami.

0

Pokazałem kod, który za to odpowiada, a przysyłanie to jest zwykłe wywołanie. <form action="{{ url('/Produkt/Search_action')}}" method="get">

0

Nie wiem co tam robisz, ale mi normalnie pobiera wszystkie dodane js'em pola, gdy wypiszę se zawartość z $_GET.

0

To musin być coś z jquery bo jak wpisze na żywca dwa razy <input type="text" name="pole[]"><input type="text" name="pole[]">

To wtedy wypisuje te dwa.

1 użytkowników online, w tym zalogowanych: 0, gości: 1