Zdravím,
mám formulář v tabulkovém designu a potřebuji funkce na přidání a odebrání řádku.
Přidání řádku řeším pomocí metody AJAX, kdy od serveru dostanu odpověď:
<?php session_start();
$_SESSION["i"] = $_POST["i"];
echo "<tr class=\"stred\" id=\"tr_".$_SESSION["i"]."\">".
"<td><input type=\"hidden\" name=\"id_".$_SESSION["i"]."\" id=\"id_".$_SESSION["i"]."\" value=\"".$_SESSION["i"]."\"></td>".
"<td><input type=\"text\" name=\"jmeno_".$_SESSION["i"]."\" id=\"jmeno_".$_SESSION["i"]."\" value=\"".$_SESSION["i"]."\" style=\"text-align:center\" disabled></td>".
"<td><input type=\"text\" name=\"rodne_cislo_".$_SESSION["i"]."\" id=\"rodne_cislo_".$_SESSION["i"]."\" value=\"".$_SESSION["i"]."\" style=\"text-align:center\" disabled></td>".
"<td><input type=\"text\" name=\"bydliste_".$_SESSION["i"]."\" id=\"bydliste_".$_SESSION["i"]."\" value=\"".$_SESSION["i"]."\" style=\"text-align:center\" disabled></td>".
"<td><input type=\"text\" name=\"obor_".$_SESSION["i"]."\" id=\"obor_".$_SESSION["i"]."\" value=\"".$_SESSION["i"]."\" style=\"text-align:center\" disabled></td>".
"<td><img name=\"upravit_".$_SESSION["i"]."\" id=\"upravit_".$_SESSION["i"]."\" src=\"images/upravit.png\" alt=\"upravit\" title=\"upravit\" onclick=\"upravit(this.name);\">".
"<img name=\"odstranit_".$_SESSION["i"]."\" id=\"odstranit_".$_SESSION["i"]."\" src=\"images/odstranit.png\" alt=\"odstranit\" title=\"odstranit\" onclick=\"odstranit(this.name);\"></td></tr>";
++$_SESSION["i"]; ?>
a tuto odpověď připojím k tabulce:
document.getElementById("tabulka").innerHTML += xmlHttp.responseText;
Dále funkci odebrání řádku řeším pomocí rodičovské struktury:
document.getElementById("radek").parentNode.removeChild(document.getElementById(id_tr));
Problém nastane, když odstraním přidaný řádek - něco na stránce zabere neviditelné místo a to se s každým novým odstraněným řádkem zvyšuje. Zkoušel jsem zjistit tvar toho místa (ctrl+a), ale nic tam nevidím. Proto mě zajímá, co to způsobuje, jestli se jedná o odpověď od serveru, nebo o nesprávné připojení řádku k tabulce, nebo něco jiného.
Pozn.: Kód byl zjednodušen a upraven pro lepší pochopení (např.: id řádku se neshoduje s předchozím příkladem), ale neovlivní to samotnou funkci.
Předem děkuji za odpovědi,
Harpener.