Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]Dodawanie wierszy do tabeli
Forum PHP.pl > Forum > Przedszkole
arzach
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.
nospor
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.
arzach
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
erix
Bo dla createElement podajesz znacznik, a nie tekst: https://developer.mozilla.org/Pl/DOM/Document.createElement
arzach
A jak chce dodać tekst to z jakiej funkcji mam skorzytać ?
erix
Trzeba było się pofatygować i zarzeć pod linka.
arzach
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>
nospor
przeciez tabela nie sklada sie divow a z tr, a ty po srodku tabeli walisz divy.....
arzach
Nie ma pojęcia jak to zrobić no do tr nie da sie przypisać id
nospor
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
arzach
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>
erix
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?
arzach
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>
nospor
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>');
}
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.