Autor | Zpráva | ||
---|---|---|---|
Spouter Profil * |
#1 · Zasláno: 7. 4. 2009, 13:42:49
Zdravím,
mám problém s odstraněním řádku dynamické tabulky. Po kliknutí chci odstranit vždy ten řádek, na který bylo kliknuto (resp. na tlačítko vedle něj). Řeším to tím způsobem, že nejprve přepíšu řádek hodnotami následujícího řádku atd. až do konce a poté chci vymazat poslední řádek tabulky, ale ten nejde vymazat. Zde kód js.: var row_no=0; var row_i=0; function addRow(tbl,row){ row_no++; var textbox = '<input type="text" class="pole1" id="pole1'+row_no+'" name="pole1'+row_no+'" value="" />'; var textbox2 = '<input type="text" class="pole2" id="pole2'+row_no+'" name="pole2'+row_no+'" value=""/>'; var textbox3 = '<input type="text" class="pole3" id="pole3'+row_no+'" name="pole3'+row_no+'" value="" />'; var textbox4 = '<input type="text" class="pole4" id="pole4'+row_no+'" name="pole4'+row_no+'" value="" />'; var textbox5 = '<input type="text" class="pole5" id="pole5'+row_no+'" name="pole5'+row_no+'" value="" />'; var textbox6 = '<input type="text" class="pole6" id="pole6'+row_no+'" name="pole6'+row_no+'" value="" />'; var button = '<input type="button" value="x" id="tlacXjs" onclick="removeValue(this);" name="button" title="Vymaže zboží z objednávky" />'; var tbl = document.getElementById(tbl); var rowIndex = document.getElementById(row).value; var newRow = tbl.insertRow(row_no); var newCell = newRow.insertCell(0); newCell.innerHTML = textbox; var newCell = newRow.insertCell(1); newCell.innerHTML = textbox2; var newCell = newRow.insertCell(2); newCell.innerHTML = textbox3; var newCell = newRow.insertCell(3); newCell.innerHTML = textbox4; var newCell = newRow.insertCell(4); newCell.innerHTML = textbox5; var newCell = newRow.insertCell(5); newCell.innerHTML = textbox6; var newCell = newRow.insertCell(6); newCell.innerHTML = button; if (row_no>=20){ alert ("Příliš mnoho položek - vytvořte novou objednávku"); document.objednavka.tlacPridatZbozi.disabled=true; } else { document.objednavka.tlacPridatZbozi.disabled=false; } } function smaz() { document.getElementById('table1').deleteRow(row_no); row_no--; } function removeValue(s) { var u=s.parentNode.parentNode.rowIndex; row_i = u; var j = 1; var g = row_i; var h = row_i + 1; for (g ; g<=row_no; g++) { for (f=1; f<=6; f++) { document.getElementById('pole'+String(j)+String(g)).value = document.getElementById('pole'+String(j)+String(h)).value; j++; } j=1; h++; } } Myslim si, že chyba je v cyklu ve funkci 'removeValue' ale nemůžu přijít kde. Pokud funkci 'smaz' přidám do 'removeValue' neprovede se. Pokud jí přidám k tlačítku 'x' tak také ne. Ale pokud jí zavolám samostatně, tak vše proběhně korektně. Vše můžete vidět na http://www.compas.tym.cz/. Nebo tady zazipovaný soubor. |
||
Spouter Profil * |
#2 · Zasláno: 8. 4. 2009, 16:33:37
Vyřešeno - chyba byla doopravdy v cyklu (děkuji funkci try, catch).
|
||
Časová prodleva: 15 let
|
0