
SMS preloz do textu
Nevite nekdo proc mi nejde tento script, zdroj je z morseovky. Chci aby uzivatel kdyz napise m tak mu to prelozi do 6, kdyz napise n tak mu to prelozi do 66 viz:
<SCRIPT language=JavaScript>
<!--
function preloz(formular1) {
znaky = new Array(
"0","1","2","3","4","5","6","7","8","9",
"A","B","C","D","E","F","G","H","I","J",
"K","L","M","N","O","P","Q","R","S","T",
"U","V","W","X","Y","Z",
"a","b","c","d","e","f","g","h","i","j",
"k","l","m","n","o","p","q","r","s","t",
"u","v","w","x","y","z",
" ","_",".",",","?",":",";","-","!","/");
morseovka = new Array(
"-----",".----","..---","...--","....-",
".....","-....","--...","---..","----.",
".-","-...","-.-.","-..",".","..-.",
"--.","....","..",".---","-.-",".-..",
"--","-.","---",".--.","--.-",".-.",
"...","-","..-","...-",".--","-..-",
"-.--","--..",
".-","-...","-.-.","-..",".","..-.",
"--.","....","..",".---","-.-",".-..",
"--","-.","---",".--.","--.-",".-.",
"...","-","..-","...-",".--","-..-",
"-.--","--..",
" "," ",".-.-.-",
"--..--","..--..","---...","-.-.-.", "-....-","!","-..-.");
var vstup = formular1.vstup.value;
var vystup = ""
formular1.vystup.value = vystup;
for(poradi = 0; poradi < vstup.length; poradi++) {
znak = vstup.charAt(poradi);
for (i = 0; i < znaky.length; i++) {
if (znak == znaky[i]) {
vystup += morseovka[i];
break;
}
}
}
formular1.vystup.value = vystup;
}
-->
</SCRIPT>
<form name="formular1">
<textarea name=vstup rows=3 cols=70></TEXTAREA>
<p><input onclick=javascript:preloz(this.form) type=button value=Přelož></p>
<textarea readonly name=vystup rows=3 wrap=physical cols=70>
</TEXTAREA>
</form>
Ale nejak mi to nepreklada :(
tak to je divne, ptz je to to iste. Skusil som to aj s funkciou concat() namiesto toho += a aj tak to nejde (original ide).
Poradim ti toto: javascript mozes debugovat napr. tak, ze si na spravne miesto pridas alert(cosi); napr. alert(znak); alebo alert(i); alebo apod. potom budes vidiet kam ti to leze/neleze a rozmyslat ze preco. Napr. zistil som ze sa vobec nespusti ta fcia toho scriptu resp. vobec nefunguje (to sa moze stat aj ak je v nom syntakticka chyba napr. nesedia ciarky, uvodzovky, zatvorky apod), este skumam ze preco :-o
Nepouzil si nejake divne znaky " ? V com si to upravoval? odporucam radsej na take veci notepad.
Aha uz to vidim, chybaju ti (dvakrat) uvodzovky za 444-
Take nieco (syntakticku chybu) hladas ak sa script vobec nespusti (aj ked das alert("bum"); na zaciatok funkcie tak nevybehne ziaden alert)
Alebo tusim ze napr. vo FF je aj nejaka error console kdesi v menu, mozno ze aj tam nieco vypise, neviem.
Že chybí uvozovky je vidět už na první pohled - podle odlišné barvy textu kódu v tom místě.
Ve FF je chybová konzola v menu Nástroje. Užitečná věc.
Po opravení syntaktických chýb by to fungovalo, ale ak by si to chcel zapísať trochu kratšie a efektívnejšie, tak by sa to dalo ďalej upraviť. Napr. by si nemusel mať v tabuľke preklad z malého a veľkého písmena na ten istý reťazec, prípadne by si si mohol ušetriť jedno lineárne vyhľadávanie.
Výsledok by mohol vyzerať nejako takto: