Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript]Dodawanie wierszy do tabeli
arzach
post
Post #1





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


Zrobiłem tak kod
Kod
<script type="text/javascript">

function dodaj_wiersz(dodaj){
var wiersz =
<tr>
<td>Wiersz</td>
<td>Wiersz</td>
<td>Wiersz</td>
</tr>;
var dodaj = document.getElementById(dodaj);
dodaj.appendChild(wiersz);
}

</script>

<form method="post">
<table>
<tr>
<td>Kolumna</td>
<td>Kolumna</td>
<td>Kolumna</td>
</tr>
<div id="div1"></div>
</table>

<div>
<input type="button" value="Dodaj_wiersz" onclick="dodaj_wiersz('dodaj');" />
</div>
</form>

który ma dodawać wiersze do tabeli i ten kod nie chce działać i nie wiem co źle zrobiłem.

Ten post edytował arzach 28.11.2008, 12:43:19
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
nospor
post
Post #2





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




rozumiesz choc odrobine dzialanie funkcji ktorych uzyles?

1) Zapodajesz id 'dodaj' elementu do ktorego chcesz dodac, ale nigdzie zadnej tabelce tego id nie ustawiles
2) appendChild przyjmuje obiekt DOM a nie tekst.


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

"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
arzach
post
Post #3





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


Zrobiłem tak
Kod
<script type="text/javascript">

function dodaj()
{
var wiersz = document.createElement('jakis tekst');
var dodaj = document.getElementById('div1');
dodaj.appendChild(wiersz);
}

</script>

<form method="post">
<input type="button" value="Dodaj" onclick="dodaj();"/>
</form>

<div id="div1"></div>

i po kliknięciu nic się nie dodaje.
Ktoś może mi pomóc
Go to the top of the page
+Quote Post
erix
post
Post #4





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




Bo dla createElement podajesz znacznik, a nie tekst: https://developer.mozilla.org/Pl/DOM/Document.createElement


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
arzach
post
Post #5





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


A jak chce dodać tekst to z jakiej funkcji mam skorzytać ?
Go to the top of the page
+Quote Post
erix
post
Post #6





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




Trzeba było się pofatygować i zarzeć pod linka.


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
arzach
post
Post #7





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


Ok. działa ale jak zrobię tak bo chce dodać wiersze do tabeli to nie działa czemu tak się dzieje ?
Kod
<script type="text/javascript">

function dodaj()
{
newDiv = document.createElement("div");
newDiv.innerHTML = "<tr>
<td>Wiersz</td>
<td>Wiersz</td>
<td>Wiersz</td>
</tr>";
var dodaj = document.getElementById('div1');
dodaj.appendChild(newDiv);
}

</script>

<form method="post">
<input type="button" value="Dodaj" onclick="dodaj();"/>
</form>

<table>
<tr>
<td>Kolumna</td>
<td>kolumna</td>
<td>kolumna</td>
</tr>  
<div id="div1"></div>
</table>
Go to the top of the page
+Quote Post
nospor
post
Post #8





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




przeciez tabela nie sklada sie divow a z tr, a ty po srodku tabeli walisz divy.....


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

"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
arzach
post
Post #9





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


Nie ma pojęcia jak to zrobić no do tr nie da sie przypisać id
Go to the top of the page
+Quote Post
nospor
post
Post #10





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




Cytat
tr nie da sie przypisać id
Kto ci takich rzeczy naopowiadal?
Pozatym poco ci id do tr? Przeciez masz dodac wiersz do tabeli a nie do wiersza.

edit down: no ale masz to dodac do tabeli a nie do wiersza smile.gif


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

"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
arzach
post
Post #11





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


Zrobilem tak i dalej nie działa
Kod
<script type="text/javascript">

function dodaj()
{
newDiv = document.createElement("div");
newDiv.innerHTML =
"<tr>
<td>Wiersz</td>
<td>Wiersz</td>
<td>Wiersz</td>
</tr>";
var dodaj = document.getElementById('div1');
dodaj.appendChild(newDiv);
}

</script>

<form method="post">
<input type="button" value="Dodaj" onclick="dodaj();"/>
</form>

<table id="div1"></table>
Go to the top of the page
+Quote Post
erix
post
Post #12





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




Kod
newDiv = document.createElement("div");

Twój kod produkuje coś takiego:

Kod
<div><tr>
<td>Wiersz</td>
<td>Wiersz</td>
<td>Wiersz</td>
</tr>
</div>

Rozumiesz, o co chodzi?


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
arzach
post
Post #13





Grupa: Zarejestrowani
Postów: 332
Pomógł: 6
Dołączył: 27.11.2008

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


Robie tak i dalej nie dziala
Kod
<script type="text/javascript">

function dodaj()
{
newDiv = document.createElement("tr");
newDiv.innerHTML = "<td>Wiersz</td> <td>Wiersz</td> <td>Wiersz</td>";
var dodaj = document.getElementById('div1');
dodaj.appendChild(newDiv);
}

</script>

<form method="post">
<input type="button" value="Dodaj" onclick="dodaj();"/>
</form>

<table id="div1"></table>
Go to the top of the page
+Quote Post
nospor
post
Post #14





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




A mi twoj kod dziala - testowane na Opera i FF
Aczkolwiek pod IE moze byc problem. Nie mozesz dla DOM wkleic od tak tekstu z kodem <td>....</td>
Musisz kazdy taki znacznik zbodowac jako obiekt DOM i dodawac po kolei do siebie.

Proponuje ci skorzystac z liba do js, np. jQuery. Wowczas twoj kod bedzie wygladal tak:
Kod
function dodaj()
{
$('#dodaj').append('<tr><td>sadasd</td><td>sdsdsaaaaa</td></tr>');
}


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

"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

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 Aktualny czas: 20.08.2025 - 22:27