Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> dodawanie pol bez przeladowania strony
misty
post
Post #1





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

Ostrzeżenie: (0%)
-----


hej, musze zrobic cos takiego, ze na klikniecie przycisku 'dodaj' pojawiac sie beda nowe pola typu input field, a na przycisk 'usun' - znikac.
Potrzebuje to zrobic bez przeladowania strony. Wiem, ze sie da, podejrzewam ze pewnie jakis ajax? albo cos? ale jakoze nie jestem mocno biegla w tym, chcialabym Was proscie o jakies wskazowki/linki.

bede wdzieczna za wszystkie sugestie,
pzdr,

misty
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Jeśli mają się pojawiać i znikać tylko w przeglądarce, bez żadnych modyfikacji na serwerze to zwykły js wystarczy.
Jeśli zmiany mają zachodzić też na serwerze, np w bazie, to juz musisz użyć ajax
Go to the top of the page
+Quote Post
misty
post
Post #3





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

Ostrzeżenie: (0%)
-----


w sumie to tylko w przegladarce, bo rozumiem ze to bedzie widoczne w $_POST?

tzn, oprocz tych guzikow jest jeszcze glowny - zapisz - i on wywoluje akcje zapisu - rozumiem ze te pola dodane js beda widoczne w $_POST? tzn ich wartosci?

i jeszcze jedno - jak moge dodac takie pole w js?
bo przykladowo:

  1. <input type="button" value="Dodaj" onClick="addFields();"/>


no i: jak to zrobic by adFields dodawalo pola w odpowiednie miejsce? jakiegos diva zrobic i tam?
a pytanie drugie - jak zdefiniowac takie wstawianie pola? tzn nie wiem czy sa w js jakies metody typu 'createInputFieldWithParams' ?

pzdr
Go to the top of the page
+Quote Post
sunpietro
post
Post #4





Grupa: Zarejestrowani
Postów: 262
Pomógł: 26
Dołączył: 23.01.2009
Skąd: eZ Systems

Ostrzeżenie: (0%)
-----


zawsze możesz zajrzeć do tego artykułu: dodawanie pól do tabeli bez przeładowania
tam jest to fajnie opisane
Go to the top of the page
+Quote Post
misty
post
Post #5





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

Ostrzeżenie: (0%)
-----


wyglada niezle, dzieki za linka-zaraz to przeanalizuje i dam znac!

pzdr

jest super i kod nie jest taki zawily az.
dzieki!!

jeszcze mam jedno pytanie z tym zwiazane. wlasciwie to jednym z pol bedzie select list i chce aby wypelniona byla danymi z bazy. wiem ze na pewno jakos sie da, ale czy ktos z Was moglby podac mi 'hasla' pod jakimi powinnam szukac?

pzdr
Go to the top of the page
+Quote Post
webdice
post
Post #6


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Uwaga! Podaję hasło: AJAX.
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Po co ajax? Opcje dla selecta można już mieć przygotowane, np w tablicy, albo nawet w ukrytym select.
Gdy są w tablicy to potem tylko je dodać do utworzonego select.
Gdy są w całym ukrytym select to wystarczy tylko dany select zklonować (metoda clone() w jQuery) i go pokazać
Go to the top of the page
+Quote Post
misty
post
Post #8





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

Ostrzeżenie: (0%)
-----


webdice, domyslam sie ze pewnie ajax, prosilam o cos konretniejszego, jakich metod szukac etc.

nospor, sprobuje Twojego rozwiazania i dam znac czy ok.

pzdr!

nospor, po czesci Twoj pomysl mi pomogl. po czesci poniewaz dziala pod firefoxem, a pod ie niee..
do takiego kodu w js:
  1. var f1 = '<td>'+selectList+'</td>';


wstawiam moja selectList, ktora jest przekazywana jako parametr.

a budowana jest:
  1. while ($row = $dbHandler->fetch_array($params['result'])) {
  2.  
  3. if (strlen(($row[$params['valueFieldName']])) < 1) {
  4. continue;
  5. }
  6.  
  7. $choicelist .= "<option value=\"".$row[$params['idFieldName']]."\"";
  8.  
  9. if ($_SESSION[$params['idFieldName']] == $row[$params['idFieldName']]) {
  10. $choicelist .= " selected=selected";
  11. $_SESSION[$params['valueFieldName']] = $row[$params['valueFieldName']];
  12. }
  13.  
  14. $choicelist .= ">".$row[$params['valueFieldName']]."</option>";
  15. }
  16.  
  17. $filterList = "<select name=\"".$params['selectListName']."\" size=\"1\" >";
  18. $filterList .= $choicelist;
  19. $filterList .= "</select>";
  20.  


i $filterList podaje do tej metody ktora mi tworzy te pola. Pod firefoxem jest ok, pod ie - nie. oczywiscie nie wiadomo dlaczego.. a moze Ty masz pomysl? moze ie jest wrazliwy na ' albo " ?

pzdr

dostaje cos takiego 'unterminated string constant' i odwoluje mi sie to linijki w pliku totalnie nie zwiazanej z tworzeniem tej select listy..

zauwazylam ze ja po prostu nie moge przekazac zmiennej z php do js.. pod ie. to jest troche dziwne..

w phpie mam kod testowy:
  1. $test = "test;

w html'u zas wywoluje metode:
  1. $(document).ready(testMe($test));


zas metoda testMe to po prostu:
  1. function testMe(val){
  2. alert(val);
  3. }



czemu mi to nie dziala pod IE?? pod FIrefoxem jest ok..

no i udalo sie w koncu (IMG:style_emoticons/default/smile.gif)

zmienilam tylko na:

  1. var test = '$test';
  2. $(document).ready(testMe(test));</script>


i poszlo (IMG:style_emoticons/default/smile.gif) zrobilam juz tak by szla cala select lista - ktora przygotowuje sobie wczesniej w phpie na podstawie danych z bazy. fajnie (IMG:style_emoticons/default/smile.gif) troche to jednak wkurza ze pod firefoxem dziala prawie wszystko, a pod ie to trzeba sie glowic.. i czas schodzi..

dzieki za pomoc i nospor dzieki za podpowiedz (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
troche to jednak wkurza ze pod firefoxem dziala prawie wszystko, a pod ie to trzeba sie glowic.. i czas schodzi..
To nie wina IE a Twoja.
Tekst to tekst. Tekst trzeba zawsze brać w apostrofy, niezależnie czy to php, mysql czy js. Ty nie brałaś więc miałaś błędy - proste (IMG:style_emoticons/default/smile.gif)
Na przyszłośc patrz jak wygląda źródło wygenerowanej strony to szybciej uporasz się z błędami.
Go to the top of the page
+Quote Post
misty
post
Post #10





Grupa: Zarejestrowani
Postów: 366
Pomógł: 0
Dołączył: 2.01.2007

Ostrzeżenie: (0%)
-----


no dobra, ale czemu bylo pod firefoxem? chodzi mi o to, ze jak jest blad programisty to nie powinno dzialac. a nie, ze pod jedna przegladarka jest ok, a pod druga nie. to jest irytujace.
no ale grunt ze dziala juz
Go to the top of the page
+Quote Post
nospor
post
Post #11





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Bo niektóre przeglądarki myślą za programistów a niektóre nie (IMG:style_emoticons/default/wink.gif)

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:21