Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> Dodanie tekstu w js
gregi1
post
Post #1





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 24.03.2007

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


Pytanie mam funkcje:

  1. function dodaj_element(kontener){
  2. var znacznik = document.createElement('input');
  3.  
  4. znacznik.setAttribute('type', 'text');
  5. znacznik.setAttribute('name', 'Imie');
  6.  
  7. znacznik.className = 'upload';
  8.  
  9. var kontener = document.getElementById(kontener);
  10. kontener.appendChild(znacznik);
  11.  
  12. }
  13. //-->


I moje pytanie jest jak z lewej strony tego inputa wyswietlic jakis tekst. Np. Podaj imie...
Go to the top of the page
+Quote Post
melkorm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


przed "wkładaniem" inputa możesz dać:
Kod
kontener.innerHTML = "Imie : ";


nie wiem jak to będzie wyglądać w Twoim kodzie i czy Ciebie to zadowala ale takie coś przyszło mi pierwsze do głowy .. jeżeli będziesz chciał bardziej złozony efekt napisz wiecej szczegółów + jakiś kod html'a gdzie to się wyświetla ;]
Go to the top of the page
+Quote Post
gregi1
post
Post #3





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 24.03.2007

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


Pomoglo tylko czesciowo bo moge wstawic ten kod tylko raz. A ja potrzebuje kilka takich tekstow przed kazdym

kontener.appendChild(znacznik);

bo mam ich kilka.
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




tekst dodajesz na identycznej zasadzie co inputa - tworzysz obiekt tekstowy i appendChild.

Jakbys jednak skorzystał z gotowych libow, np. jQuery, to Twoj kod by wyglądał tak:
Kod
function dodaj_element(kontener){
$('#'+kontener).append('<p>Twoj jakis tekst: <input type="text" name="Imie" class="upload" /></p>');
}

Przyjemniej, nieprawdaż?
Go to the top of the page
+Quote Post
gregi1
post
Post #5





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 24.03.2007

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


Pewnie ze przyjemniej ale ja jestem kompletnym laikiem w tej kwestii i czy aby korzystac z takiego liba, to pewnie trzeba cos na poczatku zaimportowac?
Go to the top of the page
+Quote Post
nospor
post
Post #6





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




http://docs.jquery.com/How_jQuery_Works
czyli standardowo musisz dodac liba w <head>
  1. <head>
  2. <script type="text/javascript" src="jquery.js"></script>
  3. </head>
  4. <body>
  5. blabla
  6. </body>
  7. </html>
Go to the top of the page
+Quote Post
vokiel
post
Post #7





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Jak już dodajesz inputa, to zamiast paragrafu lepiej byłoby dodać label, ustawić atrybut for, dzięki czemu automatycznie kursor zostanie przeniesiony do danego inputa (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
czyli korzystająć z przykładu nospora:
  1. function dodaj_element(kontener){
  2. $('#'+kontener).append('<label for="upload_1">Twoj jakis tekst:</label><input type="text" name="Imie" id="upload_1" class="upload" />');
  3. }
Go to the top of the page
+Quote Post
gregi1
post
Post #8





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 24.03.2007

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


To jeszcze jedno pytanie jest dodaje sobie kilka pol to czy mozna je dodac w jakiejs tabeli aby byly ulozone. Nie wiem czy dobrze to wytlumaczylem chodzi mi o to aby bylo mniej wiecej tak :
  1. <table><tr><td>Jakis tekst</td><td><input.....></td><tr>
  2. <tr><td>Jakis tekst</td><td><input.....></td><tr></table>
(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

I pytanie drugie.... jesli chcialbym stworzyc przycisk usuwajacy dodany formularz to moge zrobic dokladnie taka sama funkcje i dac ja pod przycisk tylko zamiast append dac remove? Czy jest moze jakas funkcja usuwajaca wszystko od razy?

I mozna to podpiac pod przycisk przy dodawaniu go w taki sposob:
  1. $('#'+kontener).append('<label for="upload_1">Twoj jakis tekst:</label><input type="button" name="Imie" id="upload_1" class="upload" onclick="usunwszystko(); />');
Go to the top of the page
+Quote Post
vokiel
post
Post #9





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Żadnej tabelki nie potrzebujesz, css wystarczy
ustawiasz parametry dla label i input, wszystko razem jeszcze wrzucasz w div.
  1. <div class="holder"><label for="input_1">Input 1</label><input id="input_1" class="upload" /></div>
  2. <style type="text/css">
  3. .holder {clear: both; width: 600px;}
  4. .holder label{width: 300px; float: left; display: inline;}
  5. .holder input{display: inline;}
  6. <div>
  7. <div class="holder"><label for="input_1">Input 1</label><input id="input_1" class="upload" /></div>
  8. <div class="holder"><label for="input_2">Input 1</label><input id="input_2" class="upload" /></div>
  9. <div class="holder"><label for="input_3">Input 1</label><input id="input_3" class="upload" /></div>
  10. <div class="holder"><label for="input_4">Input 1</label><input id="input_4" class="upload" /></div>
  11. <div class="holder"><label for="input_5">Input 1</label><input id="input_5" class="upload" /></div>
  12. </div>


Tworzenie inputow wraz z przyciskami do ich usuwania. Tworzysz linki a href z klasą add oraz id z nazwa kontenera.
  1. <a href="#" class="add" id="id_kontenera" title="Dodaj nowy input" >dodaj</a>
  2. <script type="text/javascript">
  3. $(document).ready(
  4. function(){
  5. $("a.add").click(function(){
  6. // pobierasz id kontenera
  7. var kontener = $(this).attr('id');
  8. // tworzysz diva (kontenera dla lablela inputa i linku do usuniecia
  9. var new_div = '<div class="holder">';
  10. // tworzysz label i inputa
  11. var new_label_input = '<label for="input_1">Input 1</label><input id="input_1" class="upload" />';
  12. // tworzysz nowy link
  13. var new_link = $('<a href="#" >usun</a>');
  14. // dodajesz funkcje ktora po kliknieciu w link usunie parent div (czyli calego diva z labelem inputem i tym kliknietym a)
  15. new_link.click(function(){
  16. $(this).parent("div").remove();
  17. return false;
  18. });
  19. // dodajesz do diva lablel i input
  20. new_div.append(new_label_input);
  21. // dodajesz do diva link
  22. new_div.append(new_link);
  23. // dodajesz do kontenera caly div
  24. $('#'+kontener).append(new_div);
  25. return false;
  26. });
  27. });
Go to the top of the page
+Quote Post
gregi1
post
Post #10





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 24.03.2007

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


Cytat(vokiel @ 14.11.2008, 12:05:59 ) *
Żadnej tabelki nie potrzebujesz, css wystarczy
ustawiasz parametry dla label i input, wszystko razem jeszcze wrzucasz w div.
  1. <div class="holder"><label for="input_1">Input 1</label><input id="input_1" class="upload" /></div>
  2. <style type="text/css">
  3. .holder {clear: both; width: 600px;}
  4. .holder label{width: 300px; float: left; display: inline;}
  5. .holder input{display: inline;}
  6. <div>
  7. <div class="holder"><label for="input_1">Input 1</label><input id="input_1" class="upload" /></div>
  8. <div class="holder"><label for="input_2">Input 1</label><input id="input_2" class="upload" /></div>
  9. <div class="holder"><label for="input_3">Input 1</label><input id="input_3" class="upload" /></div>
  10. <div class="holder"><label for="input_4">Input 1</label><input id="input_4" class="upload" /></div>
  11. <div class="holder"><label for="input_5">Input 1</label><input id="input_5" class="upload" /></div>
  12. </div>


Czyli co to normalnie mam wrzucic do html w miejscy gdzie chce aby te inputy sie pojawily?
Ale ten div nie bedzie widoczny dopuki nie klikne dodaj nowy input?
Cytat
Tworzenie inputow wraz z przyciskami do ich usuwania. Tworzysz linki a href z klasą add oraz id z nazwa kontenera.
  1. <a href="#" class="add" id="id_kontenera" title="Dodaj nowy input" >dodaj</a>
  2. <script type="text/javascript">
  3. $(document).ready(
  4. function(){
  5. $("a.add").click(function(){
  6. // pobierasz id kontenera
  7. var kontener = $(this).attr('id');
  8. // tworzysz diva (kontenera dla lablela inputa i linku do usuniecia
  9. var new_div = '<div class="holder">';
  10. // tworzysz label i inputa
  11. var new_label_input = '<label for="input_1">Input 1</label><input id="input_1" class="upload" />';
  12. // tworzysz nowy link
  13. var new_link = $('<a href="#" >usun</a>');
  14. // dodajesz funkcje ktora po kliknieciu w link usunie parent div (czyli calego diva z labelem inputem i tym kliknietym a)
  15. new_link.click(function(){
  16. $(this).parent("div").remove();
  17. return false;
  18. });
  19. // dodajesz do diva lablel i input
  20. new_div.append(new_label_input);
  21. // dodajesz do diva link
  22. new_div.append(new_link);
  23. // dodajesz do kontenera caly div
  24. $('#'+kontener).append(new_div);
  25. return false;
  26. });
  27. });


Ale ta funkcje dodaj_element(kontener) musze tez miec?
Go to the top of the page
+Quote Post
vokiel
post
Post #11





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Nie tej funkcji już nie musisz mieć, taka jest zaleta jquery, że sama wykryje, że kliknąłeś w odpowieni link ($("a.add").click)
- css wrzucasz tam gdzie zawsze wrzucasz css (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
- js wrzucasz w head
- <a href="#" class="add" id="id_kontenera" title="Dodaj nowy input" >dodaj</a> wrzucasz w miejsce gdzie chcesz zeby tresc sie pojawiala (wrzucając to w diva o jakimś id, żeby jquery wiedziała gdzie dodać inputy) czyli np
  1. <div id="kontener_na_nowe_inputy_div">
  2. <a href="#" class="add" id="kontener_na_nowe_inputy" title="Dodaj nowy input" >dodaj</a>
  3. </div>

schemat dokumentu
1. nagłowek
2. head a w nim css, jquery z listingu
3. body a w nim div z kontenerem i w nim inputy

zmieniłem jedną rzecz (żeby zachować poprawną semantykę, div w który js będzie wpisywać nowe wartości ma dodane na końcu _div, żeby nie było dwóch elementów na stronie o tym samym id)
czyli w js trzeba zmienić linijkę:
  1. <!-- z tego -->
  2. var kontener = $(this).attr('id');
  3. <!-- na ten -->
  4. var kontener = $(this).attr('id')+ '_div';


Ten post edytował vokiel 14.11.2008, 14:41:10
Go to the top of the page
+Quote Post
gregi1
post
Post #12





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 24.03.2007

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


Wiesz co nie wiem czy dobrze to zrobilem ale moja strona wyglada tak i troche to nie dziala, bo od razu mam wyswietlone inputy, a po kliknieciu w przycisk nic sie nie dzieje

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3.  
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  5. <link href="css/main.css" rel="stylesheet" type="text/css">
  6. <script type="text/javascript" src="js/swfobject.js"></script>
  7. <script type="text/javascript" src="js/script.js"></script>
  8. <script type="text/javascript" src="js/skrypt.js"></script>
  9. <script language="javascript">AC_FL_RunContent = 0;</script>
  10. <script src="pl/AC_RunActiveContent.js" language="javascript"></script>
  11. <script type="text/javascript" src="jquery.js"></script>
  12.  
  13.  
  14. <script type="text/javascript">
  15. $(document).ready(
  16. function(){
  17. $("a.add").click(function(){
  18. // pobierasz id kontenera
  19. var kontener = $(this).attr('id')+ '_div';
  20. // tworzysz diva (kontenera dla lablela inputa i linku do usuniecia
  21. var new_div = '<div class="holder">';
  22. // tworzysz label i inputa
  23. var new_label_input = '<label for="input_1">Podaj imie:</label><input type="text" id="input_1" class="upload" />';
  24. // tworzysz nowy link
  25. var new_link = $('<a href="#" >usun</a>');
  26. // dodajesz funkcje ktora po kliknieciu w link usunie parent div (czyli calego diva z labelem inputem i tym kliknietym a)
  27. new_link.click(function(){
  28. $(this).parent("div").remove();
  29. return false;
  30. });
  31. // dodajesz do diva lablel i input
  32. new_div.append(new_label_input);
  33. // dodajesz do diva link
  34. new_div.append(new_link);
  35. // dodajesz do kontenera caly div
  36. $('#'+kontener).append(new_div);
  37. return false;
  38. });
  39. });
  40. </head>
  41.  
  42.  
  43. <div id="kontener_na_nowe_inputy_div">
  44. <a href="#" class="add" id="kontener_na_nowe_inputy" title="Dodaj nowy input" >dodaj</a>
  45. </div>
  46.  
  47. <div class="holder"><label for="input_1">Podaj imie</label><input type="text" id="input_1" class="upload" /></div>
  48. <style type="text/css">
  49. .holder {clear: both; width: 600px;}
  50. .holder label{width: 300px; float: left; display: inline;}
  51. .holder input{display: inline;}
  52. <div>
  53. <div class="holder"><label for="input_1">Input 1</label><input type="text" id="input_1" class="upload" /></div>
  54.  
  55. </div>
  56.  
  57. </body>
  58. </html>
Go to the top of the page
+Quote Post
vokiel
post
Post #13





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Rzeczywiście nie mogło działać, przy tworzeniu diva nie ustawiłem go jako elementu dokumentu, tylko ciąg znaków. Poprawiona wersja:
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  4. <link href="css/main.css" rel="stylesheet" type="text/css">
  5. <script type="text/javascript" src="js/swfobject.js"></script>
  6. <script type="text/javascript" src="js/script.js"></script>
  7. <script type="text/javascript" src="js/skrypt.js"></script>
  8. <script language="javascript">AC_FL_RunContent = 0;</script>
  9. <script src="pl/AC_RunActiveContent.js" language="javascript"></script>
  10. <script type="text/javascript" src="jquery.js"></script>
  11.  
  12. <script type="text/javascript">
  13.  
  14. $(document).ready(
  15. function(){
  16. // aby tworzyc wiecej inputow to trzeba by ustawic ich unikalne id, do tego bedzie ten licznik
  17. var licznik=1;
  18. $("a.add").click(function(){
  19. // pobierasz id kontenera
  20. var kontener = $(this).attr('id');
  21. kontener = kontener + "_div";
  22. // tworzysz diva (kontenera dla lablela inputa i linku do usuniecia
  23. var new_div = $('<div class="holder">');
  24. // tworzysz label i inputa
  25. var new_label_input = '<label for="input_'+licznik+'">Podaj imie:</label><input type="text" id="input_'+licznik+'" class="upload" />';
  26. // tworzysz nowy link
  27. var new_link = $('<a href="#" >usun</a>');
  28. // dodajesz funkcje ktora po kliknieciu w link usunie parent div (czyli calego diva z labelem inputem i tym kliknietym a)
  29. new_link.click(function(){
  30. $(this).parent("div").remove();
  31. return false;
  32. });
  33. // dodajesz do diva lablel i input
  34. new_div.append(new_label_input);
  35. // dodajesz do diva link
  36. new_div.append(new_link);
  37. // dodajesz do kontenera caly div
  38. $('#'+kontener).append(new_div);
  39. licznik++;
  40. return false;
  41. });
  42. });
  43. <style type="text/css">
  44. .holder {clear: both; width: 600px;}
  45. .holder label{width: 300px; float: left; display: inline;}
  46. .holder input{display: inline;}
  47. </head>
  48. <div id="kontener_na_nowe_inputy_div">
  49. <a href="#" class="add" id="kontener_na_nowe_inputy" title="Dodaj nowy input" >dodaj</a>
  50. </div>
  51. </body>
  52. </html>
Go to the top of the page
+Quote Post
gregi1
post
Post #14





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 24.03.2007

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


Wielkie dzieki, pomoglo. Nawet wiedzialem jak przerobic abym mial kilka przyciskow dodaj i kilka div'ow (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ale znow napotkalem na problem, otoz wyglada on nastepujaco, gdzies na forum juz pisalem o tym, ale chodzi o to: ze na stronie wyswietlam te div'y i przyciski dodaj w petli czyli mam ich kilka (to ma byc formularz kontaktowy) i jak mozna by zrobic aby po kliknieciu przycisku dodaj, wszystkie przyciski dodaj zostaly zablokowane tzn. po wysweitleniu jednego formularza nie dalo sie wysweitlic kolejnego.
Usuniecie licznika nie pomaga, bo po kliknieciu w dodaj zawsze jest dodawany formularz. Probowalem zrobic sobie zmienna na false i w funkcji zmieniac ja na true i przy pomocy tego sprawdzac if'em ktora jest jak na true to mialem wszystkie przyciski poblokowane.


Jeszcze jeden problem.
Czy ten link do usuwania (ta akcje mozna by jakos podpiac do buttona? Bo skoro mam przycisk submit to ladniej by to wygladalo jakby i usun bylo buttonem?
Po raz kolejny dzieki za pomoc.

Ten post edytował gregi1 16.11.2008, 14:23:08
Go to the top of the page
+Quote Post
vokiel
post
Post #15





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Cytat(gregi1 @ 16.11.2008, 11:06:37 ) *
(...)jak mozna by zrobic aby po kliknieciu przycisku dodaj, wszystkie przyciski dodaj zostaly zablokowane tzn. po wysweitleniu jednego formularza nie dalo sie wysweitlic kolejnego.(..)

Możesz dodac na poczatku sprawdzanie warunku w funkcji
  1. $("a.add").click(function(){
  2. if(added){
  3. // caly ten kod co byl
  4. // a na koncu
  5. var added=true;
  6. // no i tutaj przydaloby sie ukryc inne przyciski dodaj, albo nawet wszystkie w ogóle:
  7. $("a.add").toggle();
  8. // albo
  9. $("a.add").addClass("hide");
  10. }else{
  11. $("a.add").addClass("show");
  12. }
  13. }


Cytat(gregi1 @ 16.11.2008, 11:06:37 ) *
Czy ten link do usuwania (ta akcje mozna by jakos podpiac do buttona? Bo skoro mam przycisk submit to ladniej by to wygladalo jakby i usun bylo buttonem?

Możesz ostylować link, żeby wyglądał jak button, albo po prostu wstawić button.
  1. // tworzysz nowy link (zmieniasz tutaj)
  2. var new_link = $('<button class="usun"><span>usun</span></button>');
  3. // reszta juz może zostać tak jak było
  4. // dodajesz funkcje ktora po kliknieciu w link usunie parent div (czyli calego diva z labelem inputem i tym kliknietym a)
  5. new_link.click(function(){
  6. $(this).parent("div").remove();
  7. return false;
  8. });


Trochę inną rzecz robisz, niż myślałem, kilka formularzy, a nie tak jak podejrzewałem dodawanie pól do jednego
Go to the top of the page
+Quote Post
gregi1
post
Post #16





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 24.03.2007

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


Wiesz co jestem kompletnym laikiem ale nie dziala mi za bardzo to co podales:
Mam cos takiego:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  4. <link href="css/main.css" rel="stylesheet" type="text/css">
  5. <script type="text/javascript" src="js/swfobject.js"></script>
  6. <script type="text/javascript" src="js/script.js"></script>
  7. <script type="text/javascript" src="js/skrypt.js"></script>
  8. <script language="javascript">AC_FL_RunContent = 0;</script>
  9. <script src="pl/AC_RunActiveContent.js" language="javascript"></script>
  10. <script type="text/javascript" src="jquery.js"></script>
  11.  
  12. <script type="text/javascript">
  13.  
  14.  
  15. $(document).ready(
  16. function(){
  17. // aby tworzyc wiecej inputow to trzeba by ustawic ich unikalne id, do tego bedzie ten licznik
  18. //var licznik=1;
  19. $("a.add").click(function(){
  20. if(added){
  21. // pobierasz id kontenera
  22. var kontener = $(this).attr('id');
  23. kontener = kontener + "_div";
  24. // tworzysz diva (kontenera dla lablela inputa i linku do usuniecia
  25. var new_div = $('<div class="holder">');
  26. // tworzysz label i inputa
  27. var new_label_input0 = '<label for="input"><center>WYŚLIJ ZAPYTANIE </center></label><br />';
  28. var new_label_input = '<label for="input">Podaj adres e-mail: </label><input style="margin-left:27px;" name="mail" type="text" id="input" class="upload" size="49" /><br />';
  29.  
  30. var new_label_input4 = '<label for="input">Treść wiadomości: </label><textarea style="margin-left:31px;margin-top:3px;" name="wiadomosc" id="input" class="upload" cols="46" rows="5"/></textarea><br />';
  31. var new_label_input5 = '<input style="margin-left:250px;margin-bottom:5px;" type="submit" name="wyslij_form" id="input" class="upload" value="Wyślij" />';
  32. // tworzysz nowy link
  33. var new_link = $('<a style="margin-left:20px;margin-bottom:5px; color:black" class="zwin_formularz" href="#" >Zrezygnuj</a>');
  34. // dodajesz funkcje ktora po kliknieciu w link usunie parent div (czyli calego diva z labelem inputem i tym kliknietym a)
  35. new_link.click(function(){
  36. $(this).parent("div").remove();
  37. return false;
  38. });
  39. // dodajesz do diva lablel i input
  40. new_div.append(new_label_input0);
  41. new_div.append(new_label_input);
  42. new_div.append(new_label_input4);
  43. new_div.append(new_label_input5);
  44.  
  45. // dodajesz do diva link
  46. new_div.append(new_link);
  47. // dodajesz do kontenera caly div
  48. $('#'+kontener).append(new_div);
  49. //licznik++;
  50.  
  51.  
  52. var added=true;
  53. // no i tutaj przydaloby sie ukryc inne przyciski dodaj, albo nawet wszystkie w ogóle:
  54. $("a.add").toggle();
  55. // albo
  56. return false;
  57. }
  58. });
  59. });
  60. <style type="text/css">
  61. .holder {clear: both; width: 600px;}
  62. .holder label{width: 300px; float: left; display: inline;}
  63. .holder input{display: inline;}
  64. </head>
  65. <div id="kontener_na_nowe_inputy_div">
  66.  
  67. </div>
  68.  
  69. <a href="#" class="add" id="kontener_na_nowe_inputy" title="Dodaj nowy input" >dodaj</a>
  70.  
  71.  
  72. <div id="kontener_na_nowe_inputy2_div">
  73.  
  74. </div>
  75.  
  76. <a href="#" class="add" id="kontener_na_nowe_inputy2" title="Dodaj nowy input" >dodaj</a>
  77. </body>
  78. </html>
Go to the top of the page
+Quote Post
vokiel
post
Post #17





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  4. <link href="css/main.css" rel="stylesheet" type="text/css">
  5. <script type="text/javascript" src="jquery.js"></script>
  6.  
  7. <script type="text/javascript">
  8. $(document).ready(
  9. function(){
  10. $("a.add").click(function(){
  11. var kontener = $(this).attr('id');
  12. kontener = kontener + "_div";
  13. var new_div = $('<div class="holder">');
  14. var new_label_input = '<label for="input"><center>WYŚLIJ ZAPYTANIE </center></label><br />';
  15. new_label_input += '<label for="input">Podaj adres e-mail: </label><input style="margin-left:27px;" name="mail" type="text" id="input" class="upload" size="49" /><br />';
  16. new_label_input += '<label for="input">Treść wiadomości: </label><textarea style="margin-left:31px;margin-top:3px;" name="wiadomosc" id="input" class="upload" cols="46" rows="5"/></textarea><br />';
  17. new_label_input += '<input style="margin-left:250px;margin-bottom:5px;" type="submit" name="wyslij_form" id="input" class="upload" value="Wyślij" />';
  18. var new_link = $('<a style="margin-left:20px;margin-bottom:5px; color:black" class="zwin_formularz" href="#" >Zrezygnuj</a>');
  19. new_link.click(function(){
  20. $(this).parent("div").remove();
  21. $("a.add").toggle();
  22. return false;
  23. });
  24. new_div.append(new_label_input);
  25. new_div.append(new_link);
  26. $('#'+kontener).append(new_div);
  27.  
  28. var added=true;
  29. $("a.add").toggle();
  30. return false;
  31. });
  32. });
  33. <style type="text/css">
  34. .holder {clear: both; width: 600px;}
  35. .holder label{width: 300px; float: left; display: inline;}
  36. .holder input{display: inline;}
  37. </head>
  38. <div id="kontener_na_nowe_inputy_div">
  39. </div>
  40. <a href="#" class="add" id="kontener_na_nowe_inputy" title="Dodaj nowy input" >dodaj</a>
  41.  
  42.  
  43. <div id="kontener_na_nowe_inputy2_div">
  44. </div>
  45. <a href="#" class="add" id="kontener_na_nowe_inputy2" title="Dodaj nowy input" >dodaj</a>
  46. </body>
  47. </html>
Go to the top of the page
+Quote Post
gregi1
post
Post #18





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 24.03.2007

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


Wielkie dzieki za pomoc, to mam jeszcze prosbe, potrzebna mi jeszcze jedna rzecz, a narazie nie mam czasu na nauke js - bo ucze sie Flasha:) wiec bylbym wdzieczny za pomoc.

Domyslam sie ze to mozna by zrobic przy pomocy obecnego skryptu.

Chcialbym dodatkowo miec link "wiecej>>>" po kliknieciu ktorego w jego miejscu wyswietlaja sie slowa z bazy danych. Czyli wykonuje sie zapytanie sql i wyswieltaja sie wyniki, musi to byc bez przeladowania strony, bo inaczej strace rezultaty wyszukiwania. Dzieki za pomoc
Go to the top of the page
+Quote Post
erix
post
Post #19





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




http://www.sitepoint.com/article/ajax-jquery/
Go to the top of the page
+Quote Post
gregi1
post
Post #20





Grupa: Zarejestrowani
Postów: 134
Pomógł: 0
Dołączył: 24.03.2007

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


Cytat(erix @ 27.11.2008, 18:15:46 ) *

Dzieki za link, hmm a mozna w kod funkcji wstawic nie odzielny plik a jakas zmienna php? Moze wyjasnie to na przykladzie :

Mam cos takiego.......
  1. <?php
  2. ..........
  3. while ($row = mysql_fetch_array($result)) {
  4. echo $row[1];
  5.  
  6. //i tutaj chcialbym przycisk WIECEJ ktory wyswietli mi po kliknieciu $row[2] i $row[3].
  7. <a  href="#" class="wiecej" id="wiecej_'.$row[0].'" title="wyswietl wiecej" >WIECEJ</a><div id="wyswietl_wiecej">TUTAJ POWINNO MI SIE WSTAWIC $ROW[2] i $ROW[3].</div>
  8.  
  9. }
  10. ?>


Wiec jak powinien wygladac moj skrypt js?

Mam cos takiego:
  1. <?php
  2. <script type="text/javascript">
  3.        $(document).ready(function(){
  4.            $("a.wiecej").click(function(){
  5.                       //CO TUTAJ POWINNO BYC?
  6.            });
  7.        });
  8.        </script>
  9. ?>


Z gory dzieki za pomoc.
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 21.09.2025 - 04:50