Веб дизајн/К2 2021

Извор: SI Wiki
Пређи на навигацију Пређи на претрагу

Drugi kolokvijum 2021. godine održan je 16. maja. Postavka je dostupna sa stranice predmeta. jQuery biblioteka se uvozila preko minifikovanog fajla koji je bio dat u materijalima.

Решење

zadatak2.html

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1.0" />
		<title>Zadatak 2</title>
		<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
		<script src="zadatak2.js"></script>
	</head>
	<body>
		<textarea id="unos"></textarea>
		<br />
		Zamena Slova<input
			type="radio"
			value="Zamena Slova"
			name="radioB"
			id="dugmeZ"
			onclick="zabraniPomeraj()"
		/>
		Mesanje Slova<input
			type="radio"
			value="Mesanje Slova"
			name="radioB"
			id="dugmeM"
			onclick="dozvoliPomeraj()"
		/>
		Pomeraj <input type="text" id="pomeraj" />
		<input type="button" value="Sifruj" onclick="sifruj()" />
		<br />
		<textarea disabled id="poljeZaIspis"></textarea>
	</body>
</html>

zadatak2.js

var alphabet = [
	"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",
];

zabraniPomeraj();

function sifrujZamenom(tekst) {
	let zamenjen = [];
	for (slovo of tekst) {
		if (slovo != " ") {
			slovo = alphabet[(alphabet.indexOf(slovo) + 3) % alphabet.length];
		}
		zamenjen.push(slovo);
	}
	let zamenjenTekst = zamenjen.join("");
	document.getElementById("poljeZaIspis").innerText = zamenjenTekst;
}

function dozvoliPomeraj() {
	$(document).ready(function () {
		$("#pomeraj").prop("disabled", false);
	});
}

function zabraniPomeraj() {
	$(document).ready(function () {
		$("#pomeraj").prop("disabled", true);
	});
}

function sifrujMesanjem(tekst) {
	let broj = document.getElementById("pomeraj").value;

	if (broj == "") return;
	else if (broj <= 0 || isNaN(broj)) alert("Morate uneti broj veci od 0");
	else {
		let izmesano = 0;
		let noviTekst = [];
		let i = 0;
		let pocetak = 0;
		while (izmesano < tekst.length) {
			for (i = pocetak; i < tekst.length; i += parseInt(broj)) {
				noviTekst.push(tekst[i]);
				izmesano++;
			}
			pocetak++;
		}

		document.getElementById("poljeZaIspis").innerText = noviTekst.join("");
	}
}

function sifruj() {
	let tekst = document.getElementById("unos").value;

	if (tekst == "") return;
	else if (!/[A-Z]/.test(tekst)) {
		alert("Mozete uneti samo velika slova alfabeta!");
	}

	if (document.getElementById("dugmeZ").checked) {
		sifrujZamenom(tekst);
	} else if (document.getElementById("dugmeM").checked) {
		sifrujMesanjem(tekst);
	} else return;
}