Zdravím. Mám na stránkách takový problém. Mám script, který po kliknutí na odkaz vyvolá dialogové okno kde uživatel zadá hodnotu a ta se pak vloží do textarea. Jenže script mi jde jen pro políčko input. Jakmile se snažím nějak nastavit aby se vložil do textarea tak to nefunguje... Myslím že je to tím, že textarea nemá atribut value. Mohl by mi někdo poradit jak to přepsat aby to šlo?
Můj dosavadní script funkční pro políčko input:
<script>
function vase_jmeno(){
jmeno = window.prompt('Jak se jmenujete','jméno');
if (jmeno) document.formular.policko.value =(jmeno);
}
</script>
<form name="formular">
<input type="text" name="policko" size="20" value="">
<input type="button" onClick="vase_jmeno();" value="jméno" /¨>
<HTML>V případě tagu <code>textarea</code> použijete <code>innerText</code>.</HTML>
Jj děkuju jenže innertext má tu nevýhodu, že nefunguje v mozile... Jen v IE a to stejně tak že vymaže jeho původní hodnotu což taky nechci... Takže nešlo by to jinak?
<HTML>Existuje ještě <code>innerHTML</code>. Co se týče nepřepisování textu, <code>innerHTML</code> (či <code>innerText</code>) je normální vlasnost objektu, dá se načíst do proměnné a dá se k ní "přičítat" další text.</HTML>
Děkuju za radu... Zbytek jsem si už vygooglil, ale pořád mam problém s podporou v mozille. Mám tento script:
<script>
function vase_jmeno(){
prisp = document.getElementById("text").innerHTML;
jmeno = window.prompt('Jak se jmenujete','jméno');
if (jmeno) document.all.text.innerHTML = (prisp +jmeno);
}
</script>
<form name="formular">
<br><input type="button" onClick="vase_jmeno();" value="jméno" />
<br><textarea name ="text" id="text" cols="30" rows="4"></textarea></form>
Něco jsem četl, že mozilla nepodporuje document.all ale vůbec netuším, jak to mám nahradit... Můžete prosím poradit?
Však už to tam máš o pár řádek výše.
if (jmeno) document.getElementById("text").innerHTML = (prisp +jmeno);
}
To je tak, když někdo jen opisuje a nepřemýšlí u toho
Omlouvám se za moji blbost, ale jsem asi fakt blb. Sript mám takovy:
<script>
function vase_jmeno(){
prisp = document.getElementById("text").innerHTML;
jmeno = window.prompt('Jak se jmenujete','jméno');
if (jmeno) document.getElementById("text").innerHTML = (prisp +jmeno);
}
</script>
<form name="formular">
<br><textarea name ="text" id="text" cols="30" rows="4"></textarea>
<br><input type="button" onClick="vase_jmeno();" value="jméno" />
</form>
A ať dělám co dělám, tak pořád mi to v mozille nefunguje. Jsem fakt neschopný když jsem se celý den zadrhnul na tomdle... :-( Prosím poraďte...
Mně to v Mozille jede. Zkus Shift+Reload.
No, ale zkus do textarea něco napsat a pak zadat jméno... nejde. A nebo, když už jednou zadáte jméno, tak podruhé se už taky nevloží.
Dám ti jednu cennou radu. Pro testování webu a javascriptu použij Firefox nebo Operu. Oba mají chybovou konzoli, kde ti vypíšou případné chyby všetně místa, kde k chybě došlo.
>> To je tak, když někdo jen opisuje a nepřemýšlí u toho.
Tahle hláška je teda dost užitečná. Všichni jste ji použili.
A hlavně jste se nechali nachytat od Nipala ;)
Na hodnoty formuláře platí vždy jen value. A to včetně textarea. innerHTML platí pouze u elementu, které mají vnitřní obsah. I když textarea na pohled má vnitřní obsah, tak innerHTML nepodporuje.
<script>
function vase_jmeno(){
prisp = document.getElementById("text").value;
jmeno = window.prompt('Jak se jmenujete','jmeno');
if (jmeno) document.getElementById("text").value = prisp + jmeno;
}
</script>
<form name="formular">
<br><textarea name="text" id="text" cols="30" rows="4"></textarea>
<br><input type="button" onClick="vase_jmeno();" value="jméno" />
</form>
Jj díky, ale v chybové konzoli mi to chybu nevypíše. Jedinná co tam je, je na 5 řádku což je reklama. Ale po napsání čehokoliv do textarea už ve firefoxu jméno vložit nejde... Fakt už nevím co tam je blbě...
Tomíku díky moc, takto to funguje. :-)
<HTML>Omlouvám se, máte pravdu - mám talent spíše na programování než na konkrétní (mnou málo používané) jazyky a jejich speciality. Zase jsem o něco chytřejší, díky.</HTML>