Autor Zpráva
fleury16
Profil
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
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--;
fleury16
Profil
ani jedno z řešení mě nefunguje... :(


nejde prostě to tlačítko uber !
_es
Profil
fleury16:
Nepridávaj elementy zmenou vlastnosti innerHTML, ale metódami na to určenými. Element odoberieš metódou removeChild.
fleury16
Profil
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
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
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
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š.

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:

Prosím používejte diakritiku a interpunkci.

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