Autor Zpráva
radas
Profil *
Zdravim,
udělal jsem si ve formulaři takové jednoduché přidávani prvku do formuláře
js
function pridejtextarea() { 
document.getElementById('skola').innerHTML += "Škola, město, studijní obor/faktulta<br /> <textarea cols=\"75\" name=\"skola[]\" rows=\"5\"></textarea><br />";
  }


a ve formulaři to mam takto řešeno

<div id="skola">
Škola, město, studijní obor/faktulta<br />
<textarea cols="75" name="skola[]" rows="5" wrap="OFF"></textarea><br />
</div>
<br />
<a href="#" onclick="pridejskola();return false;">Přidat další školu</a>

tohle vše mi funguje, ale teď nevím jak udělat odstranění přidaného prvku..
asi by se to dalo řešit přes pole s nějakým indexem, ale netušim jak by to šlo...
_es
Profil
radas:
tohle vše mi funguje
Otestoval si to vo viacerých prehliadačoch?
Nenastáva v niektorých zmazanie obsahu textarea, či zmena pozície kurzora v nej, alebo nejaké iné problémy?
Na pridanie elementu použi metódu appendChild a na odstránenie prvku metódu removeChild.
radas
Profil *
_es:
diky za dobrou připomínku....tim jsem došel k zavěru že je to uplně špatně :(
radas
Profil *
tak jsem to celé překopal podle toho tipu a vytvořil jsem tento "úkaz"
<script type="text/javascript">
//<![CDATA[

    function pridej() {
var theNewParagraph = document.createElement('p');
var theTextOfTheParagraph =document.createElement('textarea');
   theTextOfTheParagraph.setAttribute('name','skola[]');
    theTextOfTheParagraph.setAttribute('cols','75');
    theTextOfTheParagraph.setAttribute('rows','5');
theNewParagraph.appendChild(theTextOfTheParagraph);
document.getElementById('hlavni').appendChild(theNewParagraph);
}

//]]>
</script>


<div id="hlavni">
<textarea cols="75" name="skola[]" rows="5" wrap="OFF"></textarea><br />
<p>
<a href="javascript: pridej()">Přidat</a>

<input type="submit" />
</p>
</div>


jen teď nevím jak odstranit konkretní textareu...
_es
Profil
radas:
Radšej nepoužívaj, ak to nie je nutné, metódu setAttribute, viď tu.

jen teď nevím jak odstranit konkretní textareu...
Asi to chceš zmazať aj s tým odstavcom, ktorým ju obaľuješ. Asi sa ti zíde ešte aj metóda parentNode.
Namiesto metódy appendChild sa dá ešte použiť metóda insertBefore, ak by si chcel vkladať nejaký element inde ako na koniec iného elementu.
radas
Profil *
_es:
hhmm dobře opět děkuji za info, takže co by bylo tedy dobre řešeni, které neselže v nějakém prohližeči a bude všude fungovat, je vůbec nějake?
jak by se to tedy mělo řešit ?
_es
Profil
radas:
Zostáva ti vyriešiť len to zmazanie textarea.
Ak získaš odkaz na objekt tej textarea (textarea), tak ju zmažeš, aj s tým obaľujúcim odstavcom, jednoducho:
textarea.parentNode.parentNode.removeChild(textarea.parentNode);

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: