Autor Zpráva
Jack Finger
Profil
Dobrý den,
mám skript v js:



function addtags(cwctag){
where = document.getElementById('textarea');
back = where.value;
where.innerHTML = back + cwctag;
}


a tlačítko:
<input type="button" value="Tučně" onclick="javascript:addtags('[b][/b]');" style="font-weight:bold;">

má to za úkol po stisknutí tlačítka vložit určitou věc do textarey. všechno jede ok, ale jenom, pokud nezačnu psát do textarey. pak to přestane fungovat. neví někdo proč a jak by to šlo spravit? dík
Joker
Profil
Jack Finger
Místo
where.innerHTML = back + cwctag;
nastavovat where.value = ... Alespoň mně to funguje.
Jack Finger
Profil
Joker

fakt to funguje! Díky moc.
peta
Profil
Jack Finger
jakpsatweb - HTML - textarea
jakpsatweb - javascript - priklady
jakpsatweb - Wysivig editor na 5 radku

viz Joker, textarea ma value a jeste bych pouzil value+=tag a onclik="" je udalost JS, takze bez javascript:
TomAsQo
Profil
jaa by som este doplnil, zee value sa pouziva, ked chces naplnit input buttony a innerHTML ked chces naplnit div-y, alebo hocake prvky, ktore niesu typu textarea a input :)
habendorf
Profil
jaa by som este doplnil, zee value sa pouziva, ked chces naplnit input buttony a innerHTML ked chces naplnit div-y, alebo hocake prvky, ktore niesu typu textarea a input :)

No ono především value a innerHTML jsou dvě zcela odlišné věci.

<option value="value">innerHTML</option>
Leo
Profil
<option value="value">innerHTML</option>

V tomto prtipade ma option i vlastnost text, Leo
Jack Finger
Profil
dík všem. ještě bych se chtěl zeptat, jestli existuje (asi jo), spíš jaká je funkce v js na zjištění jestli je proměnná číslo nebo řetězec. dík
Joker
Profil
Myslím, že v JS na to přímo funkce není, ale číslo se dá vyrobit celkem jednoduchým způsobem:
neco = neco - 0;
a teď bude proměnná neco číselná. Jen pozor, musí to být mínus nula, řetězec plus nula totiž jen přidá tu nulu na konec řetězce.
Leo
Profil
"spíš jaká je funkce v js na zjištění jestli je proměnná číslo nebo řetězec"

typeof

Leo
Jack Finger
Profil
Joker
dík

Leo
takže jestli jsem to správně pochopil, tak by to mělo být takhle:?

if(typeof(promenna) == "number"){
alert('Promenna je cislo!');
}
else {
alert('Promenna neni cislo!');
}
Jack Finger
Profil
no nevíte někdo jak "se řekne" v js číslo? třeba v php je to integer, ale v js? a ještě: je nějaká funkce, která by převedla řetězec na malá písmena? dík
Joker
Profil
no nevíte někdo jak "se řekne" v js číslo?
"number"
Trik: Na ověření takovýchhle věcí možná ještě rychlejší než hledat Googlem je napsat přímo do adresového řádku třeba:
javascript:alert(typeof(1))
:-)

je nějaká funkce, která by převedla řetězec na malá písmena?
objekt String má metodu toLowerCase()
Takže něco jako:
var retezec = new String("AHOJ");
alert(retezec.toLowerCase())
Jack Finger
Profil
Joker

ad 1)
a hodnota z prompt() je vždycky string, že? nedá se to nějak překonvertovat?

ad 2)
hází mi to not defined function toLowerCase(). kód je zde:


// --- funkce addcolor(): přidá [color=neco][/color] do textarey ---
function addcolor(){
question = 'Zde prosím napište barvu textu (anglicky, např.: blue).';
clr = prompt(question,'');
where = document.getElementById('textarea');
back = where.value;
var colour = new String(clr);
color = colour.ToLowerCase();
where.value = back + "[color=" + color + "][/color]";
}
Leo
Profil
ad 1) da
ad 2) nehazi, hazi vam to u ToLowerCase()

Leo
Joker
Profil
Jack Finger
a hodnota z prompt() je vždycky string, že? nedá se to nějak překonvertovat?
O něco výš je tady můj příspěvek:
(...)číslo se dá vyrobit celkem jednoduchým způsobem:
neco = neco - 0;


ad 2) viz Leo - toLowerCase() a ToLowerCase() není totéž
Jack Finger
Profil
Joker
jenže to udělá číslo, já bych ale potřeboval aby to propustilo pouze pokud to je číslo. kód:


// --- funkce addsize(): přidá [size=číslo][/size] do textarey ---
function addsize(){
question = 'Zde prosím napište velikost textu (číslo, např 15).';
size = prompt(question,'');
//size = size - 0;
if(size != ""){
if(typeof(size) == "number"){
where = document.getElementById('textarea');
back = where.value;
where.value = back + "[size=" + size + "][/size]";
}
else {
alert('Zadaná hodnota není číslo!');
}
}
else {
alert('Nabyla zadána žádná hodnota!');
}
}
Toto téma je uzamčeno. Odpověď nelze zaslat.