Autor | Zpráva | ||
---|---|---|---|
fleury16 Profil |
#1 · Zasláno: 13. 1. 2012, 12:09:43 · Upravil/a: fleury16
Zdravím,
mám problém vytvořil jsem si script na vkládání max. 5 textarea: <script type="text/javascript"> var i = 1; function pridej(element){ if(i <= 5){ var x = document.getElementById(element); x.innerHTML += "<textarea id='zajimavost " +i+ "'>"+i+"</textarea><br>"; i++; } else{ alert("Nelze přidat další input!"); } } function uber(element){ var x = document.getElementById(element); } </script> </head> <body> <a href="#" onClick="pridej('formular')">Přidej</a><br> <a href="#" onClick="uber('formular')">Uber</a><br> <form id="formular"> </form> pak chci ještě fci uber, ale nevím jak to udělat aby ubrala jenom jeden ten textarea asi pomocí toho id co tam dávám ne? Za pomoc děkuji |
||
peta Profil |
#2 · Zasláno: 13. 1. 2012, 13:19:57
1)
document.getElementById('zajimavost ' + i).outherHTML = ''; i--;
2) pattern = '<(%name%)[\\w\\W]*?>([\\w\\W]*?)<\/(%name%)>'.replace('%name%','textarea'); // si tam dopis id a dalsi veci podle pravidel pro regularni vyrazy reg = new RegExp(pattern,'gim'); x.innerHTML = x.innerHTML.replace(reg,''); i--; 3) x.removeChild(document.getElementById('zajimavost ' + i)); i--; |
||
Časová prodleva: 3 dny
|
|||
fleury16 Profil |
#3 · Zasláno: 16. 1. 2012, 17:43:44 · Upravil/a: fleury16
ani jedno z řešení mě nefunguje... :(
nejde prostě to tlačítko uber ! |
||
_es Profil |
#4 · Zasláno: 16. 1. 2012, 17:56:26
fleury16:
Nepridávaj elementy zmenou vlastnosti innerHTML , ale metódami na to určenými. Element odoberieš metódou removeChild.
|
||
fleury16 Profil |
#5 · Zasláno: 16. 1. 2012, 19:02:53
Nakonec to jede a mám to takto, ale musel jsem dát 2x příkaz x.removeChild(x.firstChild); za sebe pač když je tam jeden tak se musí kliknout 2x aby se vymazalo jedno textarea víte v čem je chyba prosím?
<script type="text/javascript"> var i = 1; function pridej(element){ if(i <= 5){ var x = document.getElementById(element); x.innerHTML += "<textarea id='zajimavost " +i+ "'>"+i+"</textarea><br>"; //alert(i); i++; } else{ alert("Nelze přidat další input!"); } } function uber(element){ var x = document.getElementById(element); if(x.firstChild){ x.removeChild(x.firstChild); x.removeChild(x.firstChild); i--; } } </script> <a href="JavaScript:pridej('formular');" >Přidej</a><br> <a href="JavaScript:uber('formular');">Uber</a><br> <form id="formular"> </form> |
||
_es Profil |
#6 · Zasláno: 16. 1. 2012, 19:11:53
fleury16:
Prečo ignoruješ rady? Ich ignorovaním si zarábaš na ďalšie problémy. „se musí kliknout 2x aby se vymazalo jedno textarea víte v čem je chyba prosím?“ Asi v textových uzloch, jeden môže byť na začiatku formulára, testuj, čo mažeš. Over si funkčnosť skriptu vo viacerých prehliadačoch. |
||
fleury16 Profil |
#7 · Zasláno: 16. 1. 2012, 19:18:38 · Upravil/a: fleury16
dělá to tak ve všech prohlížečích
a jak to testovat, když ty textarea nejdou po vytvoření vidět ve zdrojáku? |
||
_es Profil |
#8 · Zasláno: 16. 1. 2012, 19:33:42
fleury16:
„a jak to testovat“ No však ten objekt x.firstChild . Čo iné by si chcel testovať?
Porozmýšľaj nad logikou aplikácie. Ako pridáš textareu, ak ich najprv vytvoríš 5 a potom 5 zmažeš? Premennú i nepotrebuješ.
|
||
Časová prodleva: 12 let
|
0